本篇介绍TestNG中的参数的作用,通过引入参数,来实现启动不同浏览器,一般参数需要在tesgng.xml文件里设置。这里要举例的场景是,我需要同时运行ie和谷歌浏览器测试脚本。
1、先创建一个TestCrossBrowser.java文件,输入以下内容
package Test_scipt;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class TestCrossBrowser {
@Test
// 这行@Test一定要写,如果不写,表示当前没有需要执行的脚本,会报错:No tests were found
@Parameters("Browser")
public void startBrowser(String browser){
if(browser.equalsIgnoreCase("Chrome")){
System.setProperty("webdriver.chrome.driver","E:\\Java_project\\XTPTest_selenium\\src\\main\\resources\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.baidu.com");
driver.quit();
}
else if(browser.equalsIgnoreCase("InternetExplorer")){
System.setProperty("webdriver.ie.driver","E:\\Java_project\\XTPTest_selenium\\src\\main\\resources\\IEDriverServer.exe");
WebDriver driver=new InternetExplorerDriver();
driver.manage().window().maximize();
driver.get("https://blog.csdn.net");
driver.quit();
}
}
}
注意上面@Parmeters("Browser"),直接把外部参数Browser通过@Parmaeters注释引入到测试脚本中供方法共享这个变量。
2、创建testng.xml文件并且编辑里面的内容
创建testng.xml上一篇中讲过了,安装相应的插件-右键create testng xml-编辑testng.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="suite" parallel="tests" thread-count="2">
<test name="Test">
<parameter name="Browser" value="Chrome" />
<classes>
<class name="Test_scipt.TestCrossBrowser"/>
</classes>
</test>
<test name="Test1">
<parameter name="Browser" value="InternetExplorer"/>
<classes>
<class name="Test_scipt.TestCrossBrowser"/>
</classes>
</test>
</suite>
注意上面两个test的name是不一样的,parameter中name的value和我们代码中的保持一致,class的name是包名.类名
3、选中testng.xml右键,run当前的testn.xml文件
运行结果会展示同时运行ie和chrome
testng中各种标签的含义后面再说吧!
参考博文:https://blog.csdn.net/u011541946/article/details/75109005