我的代码:
public class NewTest {
public static WebDriver driver;
@BeforeSuite(alwaysRun=true)
public void intiate() {
System.setProperty("webdriver.chrome.driver", "C:\\selenium\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
String Appurl= "http://toolsqa.com/automation-practice-form/";
driver. manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS );
driver.navigate().to(Appurl);
}
@Test (alwaysRun=true)
public void Enterusernamedetails() {
/* System.setProperty("webdriver.chrome.driver", "C:\\selenium\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
String Appurl= "http://toolsqa.com/automation-practice-form/";
driver. manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS );
driver.navigate().to(Appurl);*/
WebElement UsrName = driver.findElement(By.name("firstname"));
if(UsrName!=null)
{
UsrName.sendKeys("Hemamalini");
System.out.println("First name has been entered");
}
else
{
System.out.println("First name element is not visible");
}
WebElement lastName = driver.findElement(By.name("lastname"));
if(lastName!=null)
{
lastName.sendKeys("K");
System.out.println("Last name has been entered");
}
else
{
System.out.println("Last name element is not visible");
}
WebElement radbtnSex = driver.findElement(By.id("sex-0"));
if(radbtnSex!=null)
{
radbtnSex.click();
System.out.println("Sex radio button has been clicked");
}
else
{
System.out.println("Sex radio button element is not been clicked");
}
WebElement radbtnExper = driver.findElement(By.id("exp-2"));
if(radbtnExper!=null)
{
radbtnExper.click();
System.out.println("Experience radio button has been clicked");
}
else
{
System.out.println("Experience radio button element is not been clicked");
}
WebElement txtDatePicker = driver.findElement(By.id("datepicker"));
if(txtDatePicker!=null)
{
txtDatePicker.sendKeys("10/11/2017");
System.out.println("Date has been entered");
}
else
{
System.out.println("Date element is not visible");
}
WebElement chkbox = driver.findElement(By.id("profession-1"));
if(chkbox!=null)
{
chkbox.click();
System.out.println("Profession checkbox has been clicked");
}
else
{
System.out.println("Profession checkbox element is not been clicked");
}
WebElement chkboxtool = driver.findElement(By.id("tool-2"));
if(chkboxtool!=null)
{
chkboxtool.click();
System.out.println("Automation tool checkbox has been clicked");
}
else
{
System.out.println("Automation tool element is not been clicked");
}
Select drpContinents = new Select(driver.findElement(By.id("continents")));
if(drpContinents!=null)
{
drpContinents.selectByVisibleText("Australia");
System.out.println("Automation tool checkbox has been clicked");
}
Select drpCommands = new Select(driver.findElement(By.id("selenium_commands")));
if(drpCommands!=null)
{
drpCommands.selectByVisibleText("Switch Commands");
System.out.println("command has been clicked");
}
WebElement button = driver.findElement(By.id("submit"));
if(button!=null)
{
button.click();
System.out.println("button has been clicked");
}
else
{
System.out.println("button element is not been clicked");
}
WebElement uploadfile = driver.findElement(By.id("photo"));
if(uploadfile!=null)
{
uploadfile.sendKeys("C:\\Users\\391387.CTS\\Documents\\New folder\\Spritz_Selenium_Grid_Setup_v 2 0.docx");
System.out.println("document has been uploaded");
}
else
{
System.out.println("button document has not been uploaded");
}
driver.quit();
}
}发布于 2017-05-26 09:20:53
问题是您已经多次启动WebDriver driver。
public static WebDriver driver;@BeforeSuite(alwaysRun=true)中见WebDriver driver = new ChromeDriver();@Test (alwaysRun=true)中见WebDriver driver = new ChromeDriver();这里有3次启动驱动程序,按照
TestNG的要求,@BeforeSuites首先运行。更改代码如下:
public static WebDriver driver = null;@BeforeSuite(alwaysRun=true)中:将下面的代码替换为WebDriver driver = new ChromeDriver(); //WebDriver驱动程序=新的ChromeDriver();//旧行驱动程序=新的ChromeDriver();//新行@Test (alwaysRun=true):注释/删除;//ChromeDriver=新的ChromeDriver();希望您理解这是基本的Java代码错误。如果你需要更多的帮助,请告诉我。
发布于 2017-05-31 07:49:47
在我们的项目中,我们使用单独的类来为我们的测试选择驱动程序,您可以尝试如下:
public class SetupBrowser {
public static WebDriver SetupDriver(String browser) {
WebDriver driver = null;
if (browser.equalsIgnoreCase("FF")) {
System.setProperty("webdriver.gecko.driver","C:\\geckodriver-v0.16.1-win64\\geckodriver.exe");
DesiredCapabilities capabilitiesFF = DesiredCapabilities.firefox();
capabilitiesFF.setCapability(FirefoxDriver.MARIONETTE, true);
//capabilitiesFF.setCapability(FirefoxDriver.PROFILE, true);
driver = new FirefoxDriver(capabilitiesFF);
}
else if (browser.equalsIgnoreCase("IE")) {
System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe");
// Setting IE to clean session
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
driver = new InternetExplorerDriver(capabilities);
}
else {
driver = new ChromeDriver();
//////////
}
return driver;
}我们从属性文件中读取浏览器类型。
每当需要打开浏览器时,调用/编写代码:
SetupBrowser.SetupDriver("FF");https://sqa.stackexchange.com/questions/27472
复制相似问题