所需能力 Selenium 网络驱动程序
所需能力是什么?
所需功能 是一门课 Selenium 用于设置浏览器的属性,以执行 Web 应用程序的跨浏览器测试。它将功能存储为键值对,这些功能用于设置浏览器属性,如浏览器名称、浏览器版本、系统中浏览器驱动程序的路径等,以确定浏览器在运行时的行为。
- 所需的功能也可用于配置驱动程序实例 Selenium WebDriver。
- 我们可以像这样配置驱动程序实例 Firefox通过使用所需的功能,驱动程序、ChromeDriver、InternetExplorerDriver。
为什么我们需要期望能力?
所需功能 因为每一个 测试 场景应该在某些特定的测试环境中执行。测试环境可以是 Web 浏览器, 联络号码 设备、移动模拟器、移动模拟器等。所需功能类帮助我们告诉 webdriver 我们将在测试脚本中使用哪个环境。
- setCapability 方法 DesiredCapabilities 类(本教程后面部分将解释)可用于 Selenium 网格。用于在不同的机器配置上进行并行执行。
例如:网格
它用于设置浏览器属性(例如 Chrome、IE)、平台名称(例如 Linux、 Windows) 在执行测试用例时使用。
在移动自动化的情况下,当我们在不同类型的移动设备上进行测试时,移动平台(例如 iOS, Android) 平台版本(例如 3.x、4.x Android) 可以设置。
上面的模拟器示例显示平台集是android,平台版本集是IceCream Sandwich (4.x)。
所需功能在以下情况下更有用:
- 在移动应用程序自动化中,可以设置浏览器属性和设备属性。
- In Selenium 当我们想要在不同的浏览器、不同的操作系统和版本上运行测试用例时,网格。
所需能力的类型方法
在这里,我们将看到不同类型的所需功能方法,并了解如何使用其中一种方法“setCapability 方法”。
#1)获取浏览器名称()
public java.lang.String getBrowserName()
#2)设置浏览器名称()
public void setBrowserName(java.lang.String browserName)
#3)获取版本()
public java.lang.String getVersion()
#4)设置版本()
public void setVersion(java.lang.String version)
#5)获取平台()
public Platform getPlatform()
#6)设置平台()
public Platform setPlatform()
#7) getCapability() 方法
DesiredCapabilities 类的 getCapability() 方法可用于获取系统中当前正在使用的功能。
public java.lang.Object getCapability(java.lang.String capabilityName)
#8) setCapability() 方法
- setCapability() 方法 Desired Capabilities 类用于设置测试环境的属性,如设备名称、操作系统名称和版本、浏览器名称和版本、被测应用程序的绝对路径(测试的 .apk 文件) Android 被测应用程序)、应用程序活动( Android)和 appPackage(在 Java).
“setCapability 方法” in Java 具有以下声明:
setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability :public void setCapability(java.lang.String key,java.lang.Object value)
设置功能 Selenium 例如:
让我们考虑一个例子,我们想运行我们的 测试用例 在 Internet Explorer 浏览器上使用以下方式打开 www.gmail.com 网站 Selenium 网络驱动程序。
以下是代码。
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IEtestforDesiredCapabilities { public static void main(String[] args) { WebDriver driver = new InternetExplorerDriver(); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
现在运行此代码 Eclipse 并检查控制台。
输出:
执行上述代码时会抛出以下错误。发生此错误的原因是未设置浏览器驱动程序(上述情况下为 IE)的路径。selenium 代码无法定位浏览器。
The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.
解决方案:
错误本身的警告部分给出了上述问题的解决方案。
- 下载适用于 32 位或 64 位的 Internet ExplorerDriver 独立服务器。
- 将驱动程序保存在系统中合适的位置。
- 使用以下方式设置驱动程序的路径 系统设置属性 方法。
- 它用于设置具有 webdriver 属性的 IE 驱动程序。它有助于定位存储在系统位置的驱动程序可执行文件。(例如:“C:\IEDriverLocation\IEDriver.exe”)
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; public class IEtestforDesiredCapabilities { public static void main(String[] args) { //it is used to define IE capability DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); capabilities.setCapability(InternetExplorerDriver. INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe"); //it is used to initialize the IE driver WebDriver driver = new InternetExplorerDriver(capabilities); driver.manage().window().maximize(); driver.get("http://gmail.com"); driver.quit(); } }
代码说明:
在上面的代码中,
- 导入语句用于导入 selenium web 驱动程序所需的包、Internet Explorer 驱动程序所需的包以及所需功能的包。
- setCapability 将各种功能作为输入变量,然后 Web 驱动程序使用这些输入变量在所需的环境中启动应用程序。
- setProperty 用于设置驱动程序所在的路径。然后 Web Driver 会找到所需的驱动程序。
- Gmail网站在Internet Explorer浏览器中使用“get”方法打开。
输出:
Internet Explorer 浏览器上的测试用例将使用以下方式成功运行 Selenium 网络驱动程序。
结语
所需功能类将有助于设置环境来定义可执行测试的浏览器/环境的行为。
它有助于在具有我们想要使用的功能的所需环境中启动我们的应用程序。