testng实现参数化以及@optional的使用
来源:互联网 发布:百乐淘宝旗舰店 编辑:程序博客网 时间:2024/06/06 03:25
一、项目路径下建一个testng.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" ><suite name="Suite2" parallel="tests"><test name="Function_chrome"> <parameter name="browser" value="chrome" /><classes><class name="com.wiley.demo.ParaOpt" /></classes></test><test name="Function_firefox"> <parameter name="browser" value="firefox" /><classes><class name="com.wiley.demo.ParaOpt" /></classes></test><test name="Function_ie"> <parameter name="browser" value="ie" /><classes><class name="com.wiley.demo.ParaOpt" /></classes></test></suite>
二、建一个browser的类
package com.wiley.demo;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.openqa.selenium.remote.DesiredCapabilities;import org.testng.annotations.AfterClass;import org.testng.annotations.BeforeClass;import org.testng.annotations.Optional;import org.testng.annotations.Parameters;public class Browser {public WebDriver driver; /** * If no parameter named "browser" is found in your testng.xml file, * your test method will receive the default value specified inside * the @Optional annotation: "chrome". * @param browser */@BeforeClass@Parameters("browser")public void openBrowser(@Optional("chrome")String browser){if(browser.equalsIgnoreCase("chrome")){System.setProperty("webdriver.chrome.driver", "E:\\webdriver\\chromedriver.exe");driver=new ChromeDriver();}else if(browser.equalsIgnoreCase("ie")){System.setProperty("webdriver.ie.driver", "E:\\webdriver\\IEDriverServer.exe");DesiredCapabilities dcIE = DesiredCapabilities.internetExplorer(); dcIE.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); dcIE.setCapability("ignoreProtectedModeSettings", true); driver=new InternetExplorerDriver(dcIE);}else if(browser.equalsIgnoreCase("firefox")){driver=new FirefoxDriver();}}@AfterClasspublic void closeBrowser(){if(driver!=null){driver.quit();}}}
其中,@optional("chrome")的意思是:如果在testng.xml文件中没有找到名为"browser"的参数,测试方法将接受在@Optional注解中指定的默认值:"chrome"
三、执行测试
package com.wiley.demo;import org.testng.annotations.Test;public class ParaOpt extends Browser {@Testpublic void testBrowser(){driver.manage().window().maximize();driver.get("https://www.baidu.com");}}
0 0
- testng实现参数化以及@optional的使用
- TestNG的参数化测试
- 优雅的使用optional
- testng参数化测试
- TestNG 参数化测试
- Optional优雅的使用null
- 使用OPtional的orElse()问题
- 使用testng-xslt改写testng的测试报告
- Selenium2+TestNG的使用
- testng的使用
- TestNG DataProvider的使用
- TestNG 5 参数化测试
- TestNG参数化之DataProvider
- TestNG参数化之Parameters
- UI自动化测试系列之-----TestNg的参数化
- testng 教程之使用参数的一些技巧配合使用reportng
- 实现testNg的retry机制
- TestNG - Logger类的使用
- MuPDF 开源PDF库编译过程记录
- 电阻TP在系统休眠唤醒后无法使用的一点小问题
- Github git clone error: Peer's Certificate has expired
- JQ插件案例-基于jquery和canvas的调色板
- MYSQL的date_format 以及 STR_TO_DATE
- testng实现参数化以及@optional的使用
- 数组的基本概念和初始化方式
- nyoj 743 复杂度(排列组合)
- 转化为十六的数
- 选择排序法
- 服务注册器快速入门教程
- 小心 android:hardwareAccelerated="true" 内存迅速提高
- How to create coupon codes in Magento – Beginner’s Tutorial
- AngularJs模块化指令03(点赞)