多浏览器测试-Selenium

上一篇 / 下一篇  2015-11-10 11:34:43 / 个人分类:Selenium

package com.gx.test;


import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.testng.annotations.*;

//http://www.yiibai.com/selenium/selenium_multi_browser_testing.html
public class MultiBrowser
{
  private WebDriver driver;
//  private String URL = "http://www.calculator.net";
  private String URL="http://www.baidu.com";
    
  @Parameters("browser")
  @BeforeTest
  public void launchapp(String browser)
  {       
     
   if (browser.equalsIgnoreCase("firefox"))
   {
     System.out.println(" Executing on FireFox");
     driver = new FirefoxDriver();
     driver.get(URL);
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
     driver.manage().window().maximize();       
   }
   else if (browser.equalsIgnoreCase("chrome"))
   {
    System.out.println(" Executing on CHROME");
     System.setProperty("webdriver.chrome.driver", "E://Sheena//liyue_Selenium2_150818//chromedriver.exe");
     System.setProperty("webdriver.chrome.bin",    "C:\\Program Files (x86)\\Google\\Chrome\\Application\\Chrome.exe");
     driver = new ChromeDriver();
     driver.get(URL);
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
     driver.manage().window().maximize();   
   }
   else if (browser.equalsIgnoreCase("ie"))
   {
     System.out.println("Executing on IE");
     System.setProperty("webdriver.ie.driver", "E://Sheena//liyue_Selenium2_150818//IEDriverServer.exe");
//     DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
//     ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
//     driver = new InternetExplorerDriver(ieCapabilities);
     driver = new InternetExplorerDriver();
     driver.get(URL);
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
     driver.manage().window().maximize();       
   }
   else
   {
      throw new IllegalArgumentException("The Browser Type is Undefined");
   }
 }
     
   
  @Test
  public void calculatepercent()
  {
//      driver.findElement(By.xpath(".//*[@id='menu']/div[3]/a")).click();         // Click on Math Calculators 
//        driver.findElement(By.xpath(".//*[@id='menu']/div[4]/div[3]/a")).click();     // Click on Percent Calculators
//        driver.findElement(By.id("cpar1")).sendKeys("10");         // Enter value 10 in the first number of the percent Calculator
//        driver.findElement(By.id("cpar2")).sendKeys("50");        // Enter value 50 in the second number of the percent Calculator   
//        driver.findElement(By.xpath(".//*[@id='content']/table/tbody/tr/td[2]/input")).click();        // Click Calculate Button
//        String result = driver.findElement(By.xpath(".//*[@id='content']/p[2]/span/font/b")).getText();            // Get the Result Text based on its xpath   
      String result="5";
      System.out.println(" The Result is " + result);                    //Print a Log In message to the screen
           
        if(result.equals("5"))
        {
            System.out.println(" The Result is Pass");
        }
        else
        {
            System.out.println(" The Result is Fail");
        }           
  }
 
   @AfterTest
   public void closeBrowser()
   {
       driver.close();       
   }
}


创建一个XML这将有助于我们在参数设置浏览器的名字,不要忘记提及 parallel="tests"为了同时在所有浏览器中执行。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Simple HTML-XML Suite">

    <test name="FirefoxTest">
    <parameter name="browser" value="firefox" />
    <classes>
    <class name="com.gx.test.MultiBrowser"/>
    </classes>
    </test>
   
    <test name="ChromeTest">
    <parameter name="browser" value="chrome" />
    <classes>
    <class name="com.gx.test.MultiBrowser"/>
    </classes>
    </test>
   
    <test name="IETest">
    <parameter name="browser" value="ie" />
    <classes>
    <class name="com.gx.test.MultiBrowser"/>
    </classes>
    </test>
 
</suite>

通过对XML文件进行右键点击执行脚本,然后选择 'Run As' >> 'TestNG' 方式,如下图所示。

输出

所有的浏览器将平行展开,结果将被打印在控制台上。

注:对于我们在IE浏览器执行成功确保复选框“启用保护模式”下的“IE选项中的安全选项卡中选中或未在所有区域中未检查。

TestNG的结果以HTML格式来查看详细的分析。



TAG: 浏览器

 

评分:0

我来说两句

Open Toolbar