• 使用TestNG进行浏览器(IE、Chrome、FireFox)并发兼容性测试


    Web测试项目中经常会进行浏览器兼容性相关的测试工作,而兼容性测试的工作重复性相当高,这里TestNG提供了并发执行执行测试用例的功能,可以让测试用例以并发的形式执行,实现并发测试不同浏览器的兼容性测试需求。

    这里以IE、Chrome、FireFox浏览器结合TestNGINX以并发方式进行浏览器访问为例(IE、Chrome、Firefox调用方式请参考之前的博客)
    测试代码:

    package com.testng.browser;
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.ie.InternetExplorerDriver;
    import org.testng.Assert;
    import org.testng.annotations.AfterClass;
    import org.testng.annotations.BeforeClass;
    import org.testng.annotations.Parameters;
    import org.testng.annotations.Test;
    public class MultipleBrowserSearchTest {
    	public WebDriver driver;
    	String baseUrl = "http://www.sogou.com/";
    	@Parameters("browser")
    	@BeforeClass
    	public void beforeTest(String Browser)
    	{
    		if(Browser.equalsIgnoreCase("firefox"))
    		{
    			  System.setProperty("webdriver.firefox.bin", "C:\Program Files (x86)\Mozilla Firefox\firefox.exe");
    			  driver = new FirefoxDriver();
    			  //设置浏览器为全屏模式
    			  driver.manage().window().maximize();
    			 
    		}else if(Browser.equalsIgnoreCase("ie"))
    		{
    			  System.setProperty("webdriver.ie.driver", "C:\Program Files\Internet Explorer\IEDriverServer.exe");
    			  //设置IE浏览器默认存储位置 
    			  driver = new InternetExplorerDriver();
    			  //设置浏览器为全屏模式
    			  driver.manage().window().maximize();  
    		}else
    		{
    			  //锟斤拷锟矫谷革拷锟斤拷锟斤拷锟侥�拷洗娲⑽伙拷锟� 
    			  System.setProperty("webdriver.chrome.driver", "D:\BaiduNetdiskDownload\Chrome\chromedriver.exe");
    			  driver = new ChromeDriver();
    			  //锟斤拷锟斤拷锟斤拷锟斤拷锟轿��拷锟侥J�
    			  driver.manage().window().maximize();  
    		}
    	}
    	
    	  @Test
    	  public void testSearch() {
    		  driver.get(baseUrl);
    		  WebElement inputBox = driver.findElement(By.id("query"));
    		  Assert.assertTrue(inputBox.isDisplayed());
    		  inputBox.sendKeys("光荣之路自动化测试");
    		  //单击搜素按钮
    		  driver.findElement(By.id("stb")).click();
    		  try {
    			Thread.sleep(3000);
    		} catch (InterruptedException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		  Assert.assertTrue(driver.getPageSource().contains("光荣之路"));
    	  }
    	   
          @AfterClass
    	  public void afterTest() {
    		  //退出浏览器
    		  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="FirefoxTest">
        <parameter name="browser" value="firefox"></parameter>
        <classes>
          <class name="com.testng.webdriver.MultipleBrowserSearchTest"/>
        </classes>
      </test> 
       <!-- IE浏览器 -->
      <test name="IETest">
       <parameter name="browser" value="ie"></parameter>
       <classes>
         <class name="com.testng.webdriver.MultipleBrowserSearchTest"></class>
       </classes>
      </test>
      <!-- 谷歌浏览器 -->
      <test name="ChromeTest">
       <parameter name="browser" value="chrome"></parameter>
       <classes>
         <class name="com.testng.webdriver.MultipleBrowserSearchTest"></class>
       </classes>
      </test>
    </suite>  
    

    运行结果:在运行过程中,可以看到系统同时弹出了IE、Chrome、FireFox的浏览器窗口,并在这3个窗口中运行测试脚本中定义的操作步骤,实现了浏览器的并发测试。  

  • 相关阅读:
    RABC权限管理
    七牛云上传
    支付宝沙箱支付(Django端)超适合小白哦~
    ModelSerialzier + ModelViewSet基础使用
    微博三方登录
    Celery梳理
    ios 动画
    ios 贝塞尔动画
    ios 贝塞尔
    ios Masonry 开发细节
  • 原文地址:https://www.cnblogs.com/xmmc/p/7634526.html
Copyright © 2020-2023  润新知