测试动态 / 质量专栏 /如何配置Selenium IE驱动程序?
如何配置Selenium IE驱动程序?
2021-08-25 浏览次数:2895

当有人提到自动化浏览器测试时,这在某种程度上意味着测试将在最新的浏览器上执行,如Chrome、Firefox等。如果你团队中的某个人表示应该使用Selenium IE驱动程序或Selenium Internet Explorer驱动程序在IE浏览器上完成测试,那会让人感到惊讶和困惑。

Internet Explorer曾经是浏览器市场的主导者,但现在失去了对Chrome、Firefox等其他玩家的主导地位。它目前的市场份额正在持续稳步下降,目前占浏览器市场份额的1.19%。只要人口基数足够大,即使是1%的人也可以为庞大的互联网用户群做出了贡献;因此在Internet Explorer上进行测试肯定仍然有意义。

 

在本文中,我们将了解如何使用Selenium IE驱动程序在IE上自动测试Web应用程序。我们将展示使用Python、Java、C#和PHP的Selenium Internet Explorer驱动程序的用法。

一、什么是Selenium IE驱动程序?

Selenium IE驱动程序是用于Internet Explorer的Selenium WebDriver;它也被称为IE DriverServer。它是一个独立的服务器,充当浏览器(即IE)和Selenium脚本之间的桥梁。

1. 安装Selenium

安装命令是pip install -U selenium,上述命令执行完成后即安装成功。记录安装的版本号。

2.下载对应的IEDriverServer

要开始使用IE进行跨浏览器测试,你首先需要下载并设置Selenium Internet Explorer驱动程序。 接下来,下载Selenium IE驱动程序——一种与机器架构(即32位或64位)内嵌的驱动程序。IEDriverServer的版本号和Selenium的版本号一定要一致,安装selenium时记录版本号即为了在此处对应。

将IEDriverServer.exe所在的位置附加到环境变量PATH。

二、如何设置Internet Explorer进行自动化测试?

由于IE是一个过时的浏览器,IE浏览器的很多地方没有得到更新,你需要设置一系列的步骤为跨浏览器测试做好准备。以下是为跨浏览器测试设置IE所需的基本配置:

1.保护模式配置

IE中的保护模式必须正确设置;否则,跨浏览器自动化测试将导致“NoSuchWindowException”这样的显示结果。IE中每个区域的保护模式应该是相同的。小、中、大是IE中的三种保护模式。例如,如果某个区域(例如Internet)的保护模式设置为小,则其他所有区域也应设置为相同的保护模式。

对于使用Selenium IE驱动程序的自动化测试,我们禁用了所有区域的保护模式:Internet、本地网络、可信站点和受限站点。你应该重新启动IE浏览器以使其更改生效。

2.将浏览器缩放级别设置为100%

不正确的浏览器缩放级别可能会产生一定的影响。建议将缩放级别设置为100%。要设置缩放级别,请转到“查看”菜单项并指向“缩放”。选择缩放级别为100%并重新启动IE以使更改生效。

3.Windows注册表中的iexplore.exe条目

在具有动态内容的网页上执行自动化测试时,你可能会遇到问题。在处理使用AJAX(异步JavaScript和XML)加载的Web元素期间,你会看到明显的延迟。在Windows注册表中创建一个条目iexplore.exe以确保更好的自动化测试体验。

如果不存在,则创建子项FEATURE_BFCACHE。发布后,你应该创建一个DWORD类型的条目iexplore.exe。将“0”分配给iexplore.exe条目。

4.使用32位Selenium IE驱动

如果在IE上进行自动化测试时遇到问题,请将64位Selenium IE驱动程序替换为32位Selenium IE驱动程序。将存在32位IEDriverServer的位置附加到环境变量PATH。

至此,IE浏览器和Selenium IE Driver的所有配置就完成了。我们准备演示如何在Selenium Python、Selenium Java、Selenium C#中配置Selenium IE驱动程序。

三、如何配置Selenium IE驱动程序?

我们采用一个示例场景来解释如何在IE上执行自动化浏览器测试。

1.如何在Selenium Python中配置Selenium IE驱动程序?

要使用Python在Selenium中调用IE浏览器,你必须选择Ie类并创建该类的对象。Selenium IE驱动程序(即IEDriverServer.exe)所在的路径必须添加到调用IE浏览器的webdriver.Ie方法中。

在我们的例子中,Selenium IE驱动程序位于C:\Setup-Folder\Selenium_Grid,这就是我们使用Selenium Python在我们的机器上调用IE浏览器。

2.如何在Selenium Java中配置Selenium IE驱动程序?

为了使用Java调用Selenium中的IE浏览器,我们使用System.setProperty方法将webdriver.ie.driver(这是关键)设置为IEDriverServer.exe(作为关键)所在的路径。设置Selenium IE驱动程序的路径后,我们实例化IE驱动程序类。

在我们的例子中,Selenium IE驱动程序位于C:\Setup-Folder\Selenium_Grid,这就是我们使用Selenium Java在我们的机器上调用IE浏览器。

3.如何在Selenium C#中配置Selenium IE驱动程序?

要使用C#在Selenium中调用IE浏览器,首先使用(或导入)OpenQA.Selenium.IE namespace。它包含Internet Explorer Driver类,该类通过创建InternetExplorerDriver实例提供访问IE以运行测试的机制。

下一步是添加Selenium IE驱动程序以在IE上执行脚本。为此,创建InternetExplorerOptions类的新实例并将IntroduceInstabilityByIgnoringProtectedModeSettings设置为True。使用此选项,我们将忽略IE中的保护模式设置,以便不正确的设置不会在我们的测试中导致任何问题。你还可以设置InitialBrowserUrl属性以在IE启动时设置初始URL。

使用以下参数创建InternetExplorerDriver的实例:

1.Selenium IE驱动程序的路径(即IEDriverServer.exe)

2.之前使用InternetExplorerOptions创建的选项

在Java和Python等语言中,Selenium Internet Explorer驱动程序可执行文件的名称在路径中传递。在Selenium C#中,只需要将包含IEDriverServer.exe的文件夹的路径发送到InternetExplorerDriver的实例。

在我们的机器中,Selenium IE驱动程序位于C:\Setup-Folder\Selenium_Grid。这就是我们使用Selenium C#在我们的机器上调用IE浏览器。

在本文中,我们查看了Selenium IE驱动程序,即Selenium Internet Explorer驱动程序(WebDriver)—也称为IEDriverServer,举例说明如何配置Selenium IE驱动程序,截至2020年12月,Internet Explorer在浏览器市场仍占有1.19%的市场份额。考虑到世界互联网用户数量,1%仍然是一个巨大的数字,如果企业不注重在IE浏览器上进行测试,这在一定程度上会影响企业的盈利能力。因此,在规划跨浏览器测试时,你也绝对应该考虑在IE上进行测试,因为它在浏览器市场中仍然很重要!

参考文章:https://www.lambdatest.com/blog/how-to-run-selenium-tests-using-ie-driver/#runtests

文章标签: 跨浏览器测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568