IDEA+maven+java+TestNG 通过变量同时运行chrome和ie浏览器

本篇介绍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

猜你喜欢

转载自blog.csdn.net/weixin_39430584/article/details/81977897
今日推荐