2018年8月30日,星期四

使用TestNG进行多浏览器或跨浏览器测试

在多个浏览器中测试您的Web应用程序非常重要。每种浏览器以不同的方式处理代码,因此用户体验可能会因测试人员的不同而有所差异,因此,我们有责任确保我们的应用程序在最常用的浏览器(如firefox,chrome和IE)上正常运行。 
测试NG允许我们使用TestNG参数自动进行多浏览器测试。在本文中,我们将详细介绍如何通过一个简单的示例来实现这一目标。

例。

1.创建一个简单的测试脚本。

2.配置它以将“浏览器类型”作为参数传递。

package test;


import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;
 
import org.openqa.selenium.firefox.FirefoxDriver;
 
import org.openqa.selenium.ie.InternetExplorerDriver;
 
import org.testng.annotations.AfterClass;
 
import org.testng.annotations.BeforeClass;
 
import org.testng.annotations.Parameters;
 
import org.testng.annotations.Test;
 
public class MultiBrowserTest {
 
 public WebDriver driver;
 
  @Parameters("browser")
 
  @BeforeClass
 
  // Passing Browser parameter from TestNG xml
 
  public void beforeTest(String browser) {
 
  // If the browser is Chrome, then do this
 
  if(browser.equalsIgnoreCase("chrome")) {
 
   System.setProperty("webdriver.ie.driver", "C:\\Softwares\\chromedriver_win32\\chromedriver.exe");
   
   driver = new InternetExplorerDriver();;
 
  // If browser is IE, then do this   
 
  }else if (browser.equalsIgnoreCase("ie")) { 
 
   // Here I am setting up the path for my IEDriver
 
   System.setProperty("webdriver.ie.driver", "D:\\QA\\drivers\\IEDriverServer.exe");
 
   driver = new InternetExplorerDriver();
 
  } 
 
  // Doesn't the browser type, lauch the Website
 
  driver.get("http://www.yubo666.com"); 
 
  }
 
  // Once Before method is completed, Test method will start
 
  @Test 
  public void search() throws Exception {
    
   Thread.sleep(5000);
      driver.findElement(By.xpath("*//input[@class='search-field']")).sendKeys("appium");
      
      driver.findElement(By.xpath("*//input[@class='search-submit']")).click();
 
      driver.quit();
 
 
 }  
 
  @AfterClass public void afterTest() {
 
  driver.quit();
 
 }
 
}

3.在testng.xml中提及浏览器类型的详细信息


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
  <test name="ChromeTest">
 
 <parameter name="browser" value="chrome" />
 
 <classes>
 
 <class name="test.MultiBrowserTest" />
 
 </classes>
 
 </test>
 
 <test name="IETest">
 
 <parameter name="browser" value="ie" />
 
 <classes>
 
 <class name="test.MultiBrowserTest" />
 
 </classes>
 
 </test> <!-- Test -->
</suite> <!-- Suite -->

4.以TestNG Suit的身份运行。

并行执行- 考虑要在多个浏览器上并行执行测试,然后对testng.xml稍作更改即可实现


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="tests">
  <test name="ChromeTest">
 
 <parameter name="browser" value="chrome" />
 
 <classes>
 
 <class name="test.MultiBrowserTest" />
 
 </classes>
 
 </test>
 
 <test name="IETest">
 
 <parameter name="browser" value="ie" />
 
 <classes>
 
 <class name="test.MultiBrowserTest" />
 
 </classes>
 
 </test> <!-- Test -->
</suite> <!-- Suite -->

.

19条评论:

  1. 点击这里 最佳RPA在线培训 转到RPA在线培训学院详细信息。

    回复删除
  2. myTectra放置 门户网站是一个基于Web的门户网站,可带来潜在的雇主和 myTectra 通用平台上的求职者候选人

    回复删除
  3. 非常感谢您发布此信息。非常感谢您的工作。继续努力吧。做得好!海德拉巴最好的软件培训公司

    回复删除
  4. 您的博客是awsem。我也找到一个博客 Gk问题与解答 which is also awsem

    回复删除
  5. 从ExcelR参加班加罗尔的分析课程。班加罗尔会议上的实践分析课程,由经验丰富的教职员工提供有保证的就业支持。 ExcelR在班加罗尔提供分析课程。
    班加罗尔的ExcelR Analytics课程

    回复删除
  6. 这样一篇非常有用的文章。阅读这篇文章非常有趣。我要感谢您为撰写这篇很棒的文章所做的努力。
    ExcelR商业分析课程

    回复删除
  7. 这样一篇非常有用的文章。阅读这篇文章非常有趣。我要感谢您为撰写这篇很棒的文章所做的努力。
    ExcelR商业分析课程

    回复删除
  8. 从ExcelR参加阿布扎比的PMP认证。在阿布扎比会议上获得实用的PMP认证,并有经验丰富的老师为您提供实习保证。 ExcelR在阿布扎比提供PMP认证。
    阿布扎比的ExcelR PMP认证

    回复删除
  9. 好帖子,我必须说,并感谢您提供的信息。教育绝对是一门棘手的学科。但是,这仍然是我们这个时代的主要话题。我感谢您的帖子,并期待更多。
    孟买数据科学课程

    回复删除
  10. 感谢您分享重要信息。我喜欢您的博客,强烈推荐。我们还提供海德拉巴最好的数据科学培训数据科学家课程

    回复删除
  11. 非常好的博客!!!我必须为该网站学习很多信息…分享精彩的信息。感谢您将这些宝贵的信息分享给我们。您发布了值得信赖的博客,不断分享, 海得拉巴的数据科学课程

    回复删除
  12. 我确信这会帮助很多人。保持良好的工作。这非常令人信服,我喜欢阅读整个博客。
    数据科学培训

    回复删除
  13. 我一直在网上搜索可以帮助我的文章。显然,对此有很多了解。我认为您在功能中也提出了一些要点。继续努力,干得好 ExcelR商业分析课程

    回复删除