【问题标题】:How to run one testcase parallelly in two environments with testng如何使用 testng 在两个环境中并行运行一个测试用例
【发布时间】:2018-09-09 15:47:26
【问题描述】:

如何使用 testng 在两个环境中并行运行一个测试用例

我有一个测试用例,需要在两个环境中运行

这里我使用的是 testNG、MAVEN,

【问题讨论】:

  • 欢迎来到 Stack Overflow!请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享该研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

标签: selenium-webdriver testng pom.xml


【解决方案1】:

您可以使用selenium grid,在单个测试用例上并行执行。 我建议你通过它来了解基本概念,

下面是示例代码,便于理解:

使用TestNG-Parameters

@Parameters("Browserforlogin")
@BeforeTest
// Parameter will get browser from testng.xml on which browser test to run

public void beforeClass(String myBrowser) throws MalformedURLException {

    if (myBrowser.equalsIgnoreCase("chrome")) {
        System.setProperty("webdriver.chrome.driver", driverpathchrome);
        driver = new ChromeDriver();
    } else if (myBrowser.equals("firefox")) {
        System.setProperty("webdriver.gecko.driver", driverpathfirefox);
        driver = new FirefoxDriver();
    }
}

它将启动 Chrome 和 Firefox 浏览器进行并行执行,并从 testng.xml 配置调用(您必须在项目中定义)

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Parallel test suite" parallel="tests" thread-count="2">
     <test name="demo1">
        <parameter name="myBrowser" value="firefox"/>
        <classes>
            <class name="Your class name" />         
        </classes>
    </test> 
    <test name="demo2">
        <parameter name="myBrowser" value="chrome"/>
        <classes>
            <class name="Your class name" />           
        </classes>
    </test> 
</suite>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-29
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2015-08-14
    相关资源
    最近更新 更多