• [原创]Testng + Webdriver 入门篇


    断断续续摸索了几个星期终于将这个入门篇成文了。从Testng 官网http://testng.org/ 都能找到这些资料。

    1. 首先安装Eclipse 的Testng 插件:这里 http://testng.org/doc/download.html 已经很详细了。记得重启eclipse。
    2. 建工程 (mvn 的安装见 http://maven.apache.org/download.html)
    3.      a). 用mvn 先建立工程
      1. mvn archetype:generate -DgroupId=com.testchina -DartifactId=my_testng_test -DinteractiveMode=false

        b). eclipse 导入现有的以上生产的 mvn工程 

        c). 修改pom.xml 添加以下selenium 和 testng 依赖

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.25.0</version>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.7</version>
        <scope>test</scope>
    </dependency>   

          3. 添加类HomePage, 与 前一篇的HomePage 一样
       右击HomePage, 新建 TestNG 类 ,记得在xml suit file 中输入testng.xml . 至此文件结构为:   

    src/main/java
    -------HomePage.java
    src/test/java
    -------HomePageTest.java
    -------testng.xml 
    pom.xml

         4. 修改 HomePageTest 测试类

    public class HomePageTest {
    protected static WebDriver driver;
    @BeforeClass(groups = { "ff", "ie" })
    public void beforeClass() {
        driver.get("http://www.baidu.com");
    }
    
    @AfterClass
    public void afterClass() {
    
    }
    
    @BeforeSuite(groups = { "ie" })
    public void beforeSuite_runOnIE() {
        driver = new InternetExplorerDriver();
    }
    
    @BeforeSuite(groups = { "ff" })
    public void beforeSuite_runOnFF() {
        File pathToFirefoxBinary = new File(
                "C:\\Program Files (x86)\\FF10\\firefox.exe");
        FirefoxBinary firefoxbin = new FirefoxBinary(pathToFirefoxBinary);
        driver = new FirefoxDriver(firefoxbin, null);
    }
    
    @AfterSuite(groups = { "ff", "ie" })
    public void afterSuite() {
        driver.quit();
    }
    
    @Parameters({ "searchTXT" })
    @Test(groups = { "ie" })
    public void HomePage(String searchTxt) {
        HomePage homepage = new HomePage(driver);
        homepage.enterSerchTxt(searchTxt);
        homepage.clickSerchButton();
        // maybe the net will delay, so wait for while
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        homepage.checkResult();
    }
    
    @Parameters({ "searchTXT2" })
    @Test(groups = { "ff" })
    public void HomePage2(String searchTxt) {
        HomePage homepage = new HomePage(driver);
        homepage.enterSerchTxt(searchTxt);
        homepage.clickSerchButton();
        // maybe the net will delay, so wait for while
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        homepage.checkResult();
    }
    }

    以上用到了Group 和 Parameters。 参数在xml中进行定义, testng.xml如下:

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Suite" parallel="false">
        <test name="Test">
            <parameter name="searchTXT" value="ie" />
            <parameter name="searchTXT2" value="ff" />
            <groups>
                <run>
                    <include name="ff" />
                </run>
            </groups>
            <classes>
                <class name="com.testchina.HomePageTest" />
            </classes>
        </test> <!-- Test -->
    </suite> <!-- Suite -->

    最后eclipse里配置运行 选择Suite,运行该xml 即可。

  • 相关阅读:
    阅读心得10:《京东咚咚架构演进 》
    hadoop beginning
    ubuntu docker
    Ubuntu学习——第一篇
    flexsim diary
    apollo 3.0 硬件系统
    这是一份详细的Apollo自动驾驶平台上手指南
    详解百度Apollo感知技术、高精地图和小度车载系统
    Apollo 2.5推基于动态的实时相对地图解决方案
    Apollo在功能安全方面的探索
  • 原文地址:https://www.cnblogs.com/GGHHLL/p/3124121.html
Copyright © 2020-2023  润新知