Selenium Firefox驱动程序:使用Firefox浏览器自动进行测试
来自:啊窝额,
根据statcounter统计,到2020年6月,Mozilla Firefox浏览器在全球浏览器市场中所占份额为4.25%,因此,对于每个Selenium测试用例,Mozilla Firefox浏览器都是不可避免的。Mozilla开发人员推出了Geckodriver(也称为Selenium Firefox驱动程序),以帮助测试人员使用Firefox浏览器自动进行浏览器测试。
在本文中,我们将研究Selenium Firefox驱动程序的基础知识,以及如何在系统中下载和设置它。然后,我们将使用Selenium Firefox驱动程序运行自动化脚本,以在Mozilla Firefox浏览器上进行测试。
什么是Selenium Firefox驱动程序?
每个浏览器都有一个独特的引擎,负责呈现网站的UI。Gecko一直是浏览器引擎,负责通过Mozilla Firefox浏览器显示Web元素。
GeckoDriver也称为Selenium Firefox驱动程序,它充当代理,可在Firefox浏览器实例上执行Selenium测试。当您使用Firefox执行Selenium测试时,JSON有线协议会将说明提供给Selenium Firefox驱动程序,即Selenium GeckoDriver。然后GeckoDriver根据指令在浏览器实例中执行相关操作,并通过HTTP服务器以HTTP协议发送响应。这是说明Selenium WebDriver架构的图像。您会注意到Selenium Firefox Driver在哪里起作用。

您是否应该在Selenium测试脚本中包括GeckoDriver?
尽管不是最受欢迎的浏览器,但Mozilla Firefox自2002年问世以来一直是浏览器大战中的知名参与者。Firefox在Chrome之后仍然占据着很大的浏览器市场份额。我敢肯定,您可能在某个时候已经对Google Chrome和Mozilla Firefox产生了争论。实际上,许多同事更喜欢Mozilla Firefox作为默认浏览器,而不是Google Chrome。让我们看看从2019年6月到2020年7月的浏览器市场份额。

现在,相比于Chrome浏览器的69.42%的市场份额,8.48%的外观看起来要少得多,但是您注意到了什么吗?
Mozilla Firefox是第三受欢迎的桌面浏览器,并且与Safari并驾齐驱。
那么,您是否应该在Selenium测试脚本中包含Firefox驱动程序?
是的,毫无疑问。Firefox浏览器具有8.48%的稳定市场份额,已经成为跨浏览器测试的必然选择。如果您不将Firefox驱动程序包含在Selenium测试脚本中,那么您可能会错过许多潜在的潜在客户和有希望的客户。
话虽如此,让我们在您的操作系统中下载并设置Selenium Firefox驱动程序。
下载并设置GeckoDriver / Selenium项目的Firefox驱动程序
第1步:可以从Mozilla的官方GitHub存储库下载Selenium Firefox Driver或Selenium GeckoDriver。转到链接,然后滚动到页面底部。打开“资产”菜单,然后将Selenium Firefox驱动程序分别下载到您的操作系统。

步骤2:解压缩下载的文件。
步骤3:将GeckoDriver(geckodriver.exe)复制到Firefox浏览器所在的文件夹中。这样,如果在测试代码中创建了Selenium Firefox Driver实例,则可以避免给出Selenium GeckoDriver的绝对路径。

为Selenium项目调用Selenium Firefox驱动程序
为了将Selenium与GeckoDriver或Selenium FirefoxDriver一起使用,必须在初始化Firefox类的新实例之前包含相应的程序包(或类)。以下是可通过流行语言使用带有GeckoDriver的Selenium的一些方法。
"> Selenium C#
...........................
using OpenQA.Selenium.Firefox;
......................................................
namespace Firefox_Demo
{
class Firefox_Demo
{
...........................
...........................
IWebDriver driver;
[SetUp]
public void start_Browser()
{
driver = new FirefoxDriver();
driver.Manage().Window.Maximize();
}
...........................
...........................
[TearDown]
public void close_Browser()
{
driver.Quit();
}
}
}
Python
...........................
from selenium import webdriver
...........................
...........................
class Automation_Test(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.maximize_window()
...........................
...........................
def tearDown(self):
Quit selenium driver
self.driver.quit() if __name__ == "__main__":
unittest.main()
Java

最新讨论 ( 更多 )
- 软件测试基础视频教程、自动化视频教程分享 (凉夏)
- 有闲置plc模块联系我,新旧好坏不限!! (吴建)
- python测开怎么学习? (囍)
- 自动化测试技术交流群(禁广告) (阿卡)
- 手动测试和自动化测试的区别在哪里? (Lucky)