【发布时间】:2016-11-29 12:33:49
【问题描述】:
以下是我的方法代码:
package testcases;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
import org.apache.log4j.Logger;
import org.openqa.selenium.By;
import org.openqa.selenium.Platform;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import pages.ResultsPage;
import utilities.ExcelReader;
public class methodDefinations extends base {
public void tearDown(){
driver.quit();
}
public void setUp(String browser) throws MalformedURLException {
System.out.println(browser);
DesiredCapabilities capabilities = null;
System.out.println("before driver==null")
if(browser.equals("firefox")){
System.out.println("ff");
capabilities = DesiredCapabilities.firefox();
capabilities.setBrowserName("firefox");
capabilities.setPlatform(Platform.ANY);
}
else if(browser.equals("chrome")){
System.out.println("ch");
capabilities = DesiredCapabilities.chrome();
capabilities.setBrowserName("chrome");
capabilities.setPlatform(Platform.ANY);
}
System.out.println("inside driver==null");
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);
System.out.println(capabilities);
String browserName = capabilities.getBrowserName();
String browserVersion = capabilities.getVersion();
System.out.println("Browser = " + browserName + " "+browserVersion);
System.out.println("before testsiteurl");
driver.get("http://keep.google.com");
System.out.println("after testsite url");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
public void doLogin()
{
System.out.println("after maximize");
driver.findElement(By.cssSelector("#Email")).sendKeys("abcd@gmail.com");
driver.findElement(By.cssSelector("#next")).click();
driver.findElement(By.cssSelector("#Passwd")).sendKeys("q1w2e3r4t5y6u7i8o9p0");
driver.findElement(By.cssSelector("#signIn")).click();
driver.findElement(By.xpath("html/body/div[2]/div[2]/div[2]/div[1]/div[2]/div[1]/div[7]")).sendKeys("example");
System.out.println("example typed");
}
}
以下是我的测试用例: 打包测试用例;
import java.net.MalformedURLException;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import utilities.ExcelReader;
public class testCasess {
@Parameters("browser")
@Test
public void setup(String browser) throws MalformedURLException, InterruptedException {
methodDefinations md = new methodDefinations();
md.setUp(browser);
}
@Test
public void login()
{
methodDefinations md = new methodDefinations();
md.doLogin();
md.tearDown();
}
以下是我的 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="2" >
<test name="LoginTest">
<parameter name = "browser" value= "firefox"></parameter>
<classes>
<class name="testcases.testCasess"/>
</classes>
</test> <!-- Test -->
<test name="LoginTest2">
<parameter name = "browser" value= "chrome"></parameter>
<classes>
<class name="testcases.testCasess"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
Parallel =“测试”在网格 2 中不起作用。 它基本上打开了两个浏览器。但是在输入用户名时,它会在 Firefox 中输入两次用户名。在 Chrome 中没有输入任何内容。 我不明白为什么会这样。
下面是基类:
package testcases;
import java.io.FileInputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
import org.apache.log4j.Logger;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
public class base {
public WebDriver driver=null;
public static WebDriverWait wait;
public static Properties OR = new Properties();
public static Properties Config = new Properties();
public static Logger log = Logger.getLogger("devpinoyLogger");
public static FileInputStream fis;
public void tearDown()
{
driver.quit();
}
}
}
【问题讨论】:
-
你能告诉我们你的“基础”类是什么样的吗?您也可以编辑您的问题并添加它。
标签: selenium testng selenium-grid