Chúng tôi đang cố gắng thiết lập môi trường thử nghiệm tự động hóa cho ứng dụng web. Ứng dụng web này sẽ được lưu trữ trên máy chủ Ubuntu. Trong môi trường QA, chúng tôi đang cố gắng thực hiện kiểm thử tự động.
Thông tin về môi trường như sau:
- Hệ điều hành: Ubuntu 20.04 và/hoặc 21.04
- Ngôn ngữ lập trình được sử dụng: Python3 (3.8.10)
- Công cụ tự động hóa: Selenium
- Trình duyệt mong muốn: MS Edge
Uyển chuyển:
Chúng tôi có thể sử dụng phiên bản khác của Python hoặc Ubuntu để làm việc này, nhưng vì MS Edge là trình duyệt ưa thích của khách hàng nên không thể thay thế bằng Firefox hoặc trình duyệt có sẵn khác. Mặc dù chúng ta có thể sử dụng phiên bản khác của edge nếu nó hoạt động. Và chúng tôi có thể thử nghiệm thành công tương tự trong trình duyệt chrome.
Chúng ta có thể sử dụng các Linux Distro khác nhau miễn là phiên bản ổn định.
Những gì chúng tôi đã thử?
Cũng đã cố gắng làm theo hướng dẫn tương tự như chúng tôi đã làm cho chrome. Để cài đặt trình điều khiển chrome, chúng tôi đã theo dõi 'https://www.thenerdlife.com/blog/how-to-install-chromedriver-on-ubuntu/'. Vì vậy, chúng tôi đã làm tương tự cho edge và thay thế "chromedriver" bằng "msedgedriver" trong tập lệnh.
Chúng tôi đã cài đặt MS Edge (DEV v93.0.933.1) trên Ubuntu 20.04. Đối với webdriver, chúng tôi đã tìm thấy nó trên 'https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/' và sao chép tệp vào cùng một vị trí với tệp thử nghiệm python.
Chúng tôi cũng đã thử đổi tên "msedgedriver" thành "MicrosoftWebDriver.exe" (tệp được đặt bằng chương trình python). Đến từ nền cửa sổ, điều này thường hoạt động.
chương trình Python
từ Selenium nhập webdriver
trình điều khiển = webdriver.Edge()
driver.get('https://www.google.com/')
> Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "/home/devang/.local/lib/python3.8/site-packages/Selenium/webdriver/common/service.py", dòng 72, bắt đầu
self. process = sub process.Popen(cmd, env=self.env,
Tệp "/usr/lib/python3.8/sub process.py", dòng 858, trong __init__
self._execute_child(args, executable, preexec_fn, close_fds,
Tệp "/usr/lib/python3.8/sub process.py", dòng 1704, trong _execute_child
tăng child_Exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] Không có tệp hoặc thư mục như vậy: 'MicrosoftWebDriver.exe'
Trong quá trình xử lý ngoại lệ trên, một ngoại lệ khác đã xảy ra:
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "/home/devang/GitHub/AutomationSampleTest/ieEdgeBrowse.py", dòng 3, trong <module>
trình điều khiển = webdriver.Edge()
Tệp "/home/devang/.local/lib/python3.8/site-packages/Selenium/webdriver/edge/webdriver.py", dòng 56, trong __init__
self.edge_service.start()
Tệp "/home/devang/.local/lib/python3.8/site-packages/Selenium/webdriver/common/service.py", dòng 81, bắt đầu
tăng WebDriverException (
Selenium.common.Exceptions.WebDriverException: Thông báo: Tệp thực thi 'MicrosoftWebDriver.exe' cần phải ở dạng PATH. Vui lòng tải xuống từ http://go.microsoft.com/fwlink/?LinkId=619687
CHỈNH SỬA
Cũng đã thử đoạn mã sau để chuyển vị trí tệp trình điều khiển:
từ Selenium nhập webdriver
từ selenium.webdriver.edge.options nhập Tùy chọn
tùy chọn = webdriver.EdgeOptions()
options.use_chromium=True
options.binary_location = "/home/devang/GitHub/AutomationSampleTest/msedgedriver"
trình điều khiển = webdriver.Edge (tùy chọn = tùy chọn)
driver.get('https://www.google.com/')
Đối với đoạn mã trên, nó đang đưa ra một lỗi khác:
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "/home/devang/GitHub/AutomationSampleTest/ieEdgeBrowse.py", dòng 3, trong <module>
tùy chọn = webdriver.EdgeOptions()
AttributionError: mô-đun 'selenium.webdriver' không có thuộc tính 'EdgeOptions'
Câu hỏi:
Thậm chí có thể thực hiện kiểm tra tự động cho MS Edge trong Ubuntu bằng Python3 và Selenium không?
Nếu có thì làm thế nào? Vui lòng chia nhỏ nó thành các bước nhỏ dễ thực hiện vì tôi là người dùng Ubuntu mới.