Python如何进行自动浏览器测试?本文带你了解如何使用 Microsoft Edge 浏览器和 Python 中的 Selenium 库执行自动化浏览器测试。
截至 2020 年 9 月, Microsoft Edge 占据浏览器市场 8.84% 的份额 ,位居 Chrome 之后的第二位。但是,在执行跨浏览器测试时,我们的主要关注点往往主要围绕 Chrome、Firefox 或 Safari 等浏览器。但是其他浏览器呢,比如 Edge?
Edge和Selenium自动浏览器测试示例:在测试网站时,在所有浏览器、设备和机器上流畅准确地呈现网站非常重要。假设你创建了一个网站并在 Chrome、Firefox 和 Safari 等浏览器上手动测试,并决定部署它。但是,如果用户在 Microsoft Edge 或经过测试的浏览器以外的版本中打开网站怎么办?
因此,在 Selenium 的帮助下,执行自动浏览器测试、跨多个浏览器版本组合测试你的网站非常重要,以确保有效的用户体验。在本教程中,我们提供一个Python自动浏览器测试示例,我们将深入探讨如何在 Python 中使用 Edge 和 Selenium 执行自动化浏览器测试。我们将使用Edge WebDriver来帮助我们在 Edge 浏览器上运行我们的 Selenium 自动化测试脚本。
下载 Selenium Edge WebDriver
在执行自动化浏览器测试时,测试脚本与浏览器通信很重要。如果没有 WebDriver,这可能是不可能的。Selenium Edge WebDriver 充当代码和浏览器之间的中介,有助于提供浏览器的可编程远程控制。
你可以使用 此链接下载最新版本的 Selenium Edge WebDriver 。
在 Python 中使用 Edge 和 Selenium 执行浏览器自动化
Python如何进行自动浏览器测试?让我们看看将 Edge 与 Selenium 和 Python 结合使用以实现浏览器自动化的先决条件是什么:
- 从这里下载最新版本的 Python(如果尚未安装)。
- 接下来,我们需要 Microsoft Edge 浏览器。你可以使用此链接 下载它。请注意你正在下载的版本,用于 WebDriver。如果你已经安装了 Edge,你可以通过在 Edge 的地址栏中键入以下命令来查找其版本:
- 边缘://版本/
- 你还可以使用以下步骤找出 Edge 浏览器的版本:
- 打开 Microsoft Edge 浏览器。
- 选择浏览器右上角的设置等,然后转到设置。
- 你可以在设置选项卡底部看到关于 Microsoft Edge的部分,其中包含有关 Edge 版本的信息。
现在基本设置已准备就绪,让我们继续执行后续步骤以下载并安装以下内容:
- 适用于 Python 的 Selenium 框架– 在安装 Python 语言后,在终端中执行以下命令,以安装适用于 Python 语言的最新版本的 Selenium 框架:
pip3 install selenium
- 适用于 Selenium的 Edge WebDriver – 从此链接下载与你的系统配置相匹配的 Edge WebDriver 可执行文件。确保根据系统中安装的 Edge 版本下载驱动程序版本。解压缩文件并复制msedgedriver.exe的位置。
- 适用于 Microsoft Edge 的 Selenium 工具– 从终端执行以下命令以直接下载适用于 Microsoft Edge 的 Selenium 工具:
pip install msedge-selenium-tools selenium==3.141
我们都准备好了。现在我们可以在 Python 中使用 Edge 和 Selenium 执行自动化测试。让我们看一些例子。
运行你的第一个自动浏览器测试脚本
Python自动浏览器测试示例解析 - 在这个例子中,我们将看到如何编写第一个脚本来启动 Edge 和 Selenium 的自动化浏览器测试:
# importing required package of webdriver
from selenium import webdriver
# Just Run this to execute the below script
if __name__ == '__main__':
# Instantiate the webdriver with the executable location of MS Edge web driver
browser = webdriver.Edge(r"C:\Users\LenovoE14\Downloads\edgedriver\msedgedriver.exe")
# Simply just open a new Edge browser and go to lambdatest.com
browser.get('https://www.lambdatest.com')
Edge和Selenium自动浏览器测试示例:在上面的这段代码中,我们只是通过将可执行 Edge WebDriver 的路径作为参数传递来为 Microsoft Edge 创建 WebDriver 实例。在这种情况下,它是C:\Users\LenovoE14\Downloads\edgedriver\msedgedriver.exe。然后我们使用提供的 URL 打开一个新的 Edge 实例。你可以根据自己的选择自定义 URL。
执行上面的代码,你会在地址栏中看到一个带有“https://www.lambdatest.com”的Microsoft Edge实例(因为我们已经向webdriver实例提供了这个地址并要求浏览器打开它) ):
使用 Web 定位器执行浏览器自动化
Python如何进行自动浏览器测试?现在让我们看另一个例子,在网络定位器的帮助下执行一些特定的操作。在本例中,我们将尝试在 www.lambdatest.com 的主页插入电子邮件地址,然后单击按钮Start Free Testing,如下图所示:
将以下代码复制并粘贴到你的 IDE/文本编辑器中并运行它:
# importing required package of webdriver
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from time import sleep
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.opera.options import Options
from selenium.webdriver.support.wait import WebDriverWait
if __name__ == '__main__':
# Instantiate the webdriver with the executable location of MS Edge
browser = webdriver.Edge(r"C:\Users\LenovoE14\Downloads\edgedriver\msedgedriver.exe")
# Simply just open a new Edge browser and go to lambdatest.com
browser.maximize_window()
browser.get('https://www.lambdatest.com')
try:
# Get the text box to insert Email using selector ID
myElem_1 = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, 'useremail')))
# Entering the email address
myElem_1.send_keys("rishabhps@lambdatest.com")
myElem_1.click()
# Get the Submit button to click and start free testing using selector CSS_SELECTOR
myElem_2 = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#testing_form > div")))
# Starting free testing on LambdaTest
myElem_2.click()
sleep(10)
except TimeoutException:
print("No element found")
sleep(10)
browser.close()
复制在上面的代码中,我们在上面显示的文本框中插入了电子邮件地址,并按下了按钮开始免费测试。为此,我们使用了选择器ID和CSS SELECTOR。执行后,Microsoft Edge 的新实例将打开并按给定顺序执行以下操作:
Python自动浏览器测试示例 - 将启动 Microsoft Edge 的新实例:
浏览器将最大化(当我们执行browser.maximize_window()
):
LambdaText 主页将打开:
给定的电子邮件将被插入到文本框中,并按下按钮开始免费测试:
你将被重定向到登录页面以设置你的帐户并在 LambdaText 的帮助下开始跨浏览器测试:
Edge和Selenium自动浏览器测试示例总结
在本文中,我们已经成功地看到:
- 什么是 Edge WebDriver 以及如何获取它。
- 如何在 Python 中使用 Edge 和 Selenium 设置自动化浏览器测试。
- Python自动浏览器测试示例:编写第一个浏览器自动化测试。
- 使用选择器在 Python 中使用 Edge 和 Selenium 执行浏览器自动化。
Python如何进行自动浏览器测试?Microsoft Edge 的受欢迎程度不断上升。我们使用已安装的版本执行了浏览器自动化。但是,如果我们需要在其他版本或其他 Windows 操作系统版本中执行此操作怎么办?
在这种情况下,可能无法下载和测试每个版本,从而导致以后出现某些缺点或一些用户体验问题。为了克服这个问题,我们可以使用LambdaTest进行跨浏览器测试。LambdaTest 不仅允许你在多个浏览器和操作系统组合上测试你的网站,而且还允许你在云Selenium Grid上执行并行测试。
LambdaTest 提供了一个平台,可以在 2000 多个在真实操作系统上运行的真实移动和桌面浏览器上对你的公共或本地托管网站和 Web 应用程序执行实时交互式浏览器兼容性测试。