zoukankan      html  css  js  c++  java
  • java-selenium TestNG并发兼容性测试

       Web测试项目中经常进行浏览器兼容性相关的测试工作,因为兼容性测试的工作重复性相当高,所以导致手工测试效率低下测试人员积极性降低。TestNG提供了并发执行测试用例的功能,可以让测试用例以并发的形式执行,实现测试不同浏览器的兼容性测试。

      下面代码中分别使用Chrome、Firefox和IE浏览器,TestNG以并发方式去百度搜索“selenium”然后校验搜索结果。

      测试类中代码:

    package com.selenium;
    
    import org.openqa.selenium.By;
    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.testng.annotations.Parameters;
    import org.testng.annotations.BeforeClass;
    import org.testng.Assert;
    import org.testng.annotations.AfterClass;
    import org.testng.annotations.Test;
    
    public class TestNGBingfa {  
        WebDriver driver;
        
        @Parameters("browser")
        @BeforeClass
        public void BeforeClass(String Browser){
            //判断Browser等于chrome。equalsIgnoreCase()方法比较两个字符串是否相等(不区分大小写)
            if(Browser.equalsIgnoreCase("chrome")){
                System.setProperty("webdriver.chrome.driver","E:\chromedriver.exe");
                driver=new ChromeDriver();
            }
            else if(Browser.equalsIgnoreCase("firefox")){
                System.setProperty("webdriver.firefox.bin","D:\Firefox\firefox.exe");
                driver=new FirefoxDriver();
            }
            else{
                System.setProperty("webdriver.ie.driver", "E:\IEDriverServer.exe");
                driver=new InternetExplorerDriver();
            }
        }
        
        @Test
        public void test() throws InterruptedException{
            driver.get("https://www.baidu.com");
            driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("selenium");
            driver.findElement(By.xpath("//*[@id='su']")).click();    
            //获取页面上的资源
            String sourcetext=driver.getPageSource();
            //校验搜索结果是否包含 selenium
            Assert.assertTrue(sourcetext.contains("selenium"));
        }
        
        @AfterClass
        public void Aftercalss(){
            driver.quit();
        }
    }

      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="3">
    <!-- 谷歌浏览器 --> <test name="chrome"> <parameter name="browser" value="chrome"></parameter> <classes> <class name="com.selenium.TestNGBingfa"/> </classes> </test>
    <!-- 火狐浏览器 --> <test name="firefox"> <parameter name="browser" value="firefox"></parameter> <classes> <class name="com.selenium.TestNGBingfa"></class> </classes> </test>
    <!-- IE浏览器 --> <test name="ie"> <parameter name="browser" value="ie"></parameter> <classes> <class name="com.selenium.TestNGBingfa"></class> </classes> </test>
    </suite>
  • 相关阅读:
    Spring使用Cache
    Spring AOP之切入点指示符
    centos下 php未安装posix扩展 安装phpsh导致的问题fix
    Linus:利用二级指针删除单向链表
    AngularJS学习之 ui router
    AngularJS学习之 angular-file-upload控件使用方法
    AngularJS学习之 登录表单 清爽验证(边学边更新)
    AngularJS图片上传功能实践
    JavaScript基础知识之 每日一题(网上搜罗来滴)
    AngularJS学习之 ngTable 翻页 功能以及利用angular service准备测试数据
  • 原文地址:https://www.cnblogs.com/puhongjun/p/10326230.html
Copyright © 2011-2022 走看看