如果使用Java在Selenium webdrive中的@Test内忽略了station
1.代码打开一个页面,然后验证该页面的URL并将其保存为字符串。从excel文件输入凭据,然后推入登录,然后再次检查URL并将其保存在变量url1中。如果成功登录url变量不同于url1变量,并且驱动程序被还原到上一页,但如果凭据错误且未登录,则url1等于url,并且驱动程序不应还原回url,但它会。。。if语句被忽略。有什么想法吗?附言:我尝试过try-catch块,还使用了布尔表达式,或者检查元素是否存在,但是否相同。它只是运行每一行代码,忽略try-catch或if或do语句,如果id没有找到元素,它就会崩溃 二,。 代码如下:如果使用Java在Selenium webdrive中的@Test内忽略了station,java,eclipse,selenium,if-statement,testing,Java,Eclipse,Selenium,If Statement,Testing,1.代码打开一个页面,然后验证该页面的URL并将其保存为字符串。从excel文件输入凭据,然后推入登录,然后再次检查URL并将其保存在变量url1中。如果成功登录url变量不同于url1变量,并且驱动程序被还原到上一页,但如果凭据错误且未登录,则url1等于url,并且驱动程序不应还原回url,但它会。。。if语句被忽略。有什么想法吗?附言:我尝试过try-catch块,还使用了布尔表达式,或者检查元素是否存在,但是否相同。它只是运行每一行代码,忽略try-catch或if或do语句,如果id没
public class LogIn{
public WebDriver driver;
@Test
public void main() throws Exception {
File src= new File("D:\\Eclipse Luna\\ExcelData\\TestData.xlsx");
FileInputStream fis=new FileInputStream(src);
XSSFWorkbook wb = new XSSFWorkbook(fis);
XSSFSheet sheet1 = wb.getSheetAt(0);
int rowcount=sheet1.getLastRowNum();
String url = driver.getCurrentUrl();
System.out.println(url);
for (int i=1;i<rowcount+1;i++){
String data0=sheet1.getRow(i).getCell(1).getStringCellValue();
String data1=sheet1.getRow(i).getCell(2).getStringCellValue();
System.out.println("Username:" + data0);
System.out.println("Password:" + data1+ "\n");
driver.findElement(By.name("username")).clear();
driver.findElement(By.name("password")).clear();
driver.findElement(By.name("username")).sendKeys(data0);
driver.findElement(By.name("password")).sendKeys(data1);
Thread.sleep(3000);
driver.findElement(By.xpath("//input[@value='Login']")).click();
Thread.sleep(3000);
String url1 = driver.getCurrentUrl();
System.out.println(url1);
if(url != url1){
driver.navigate().back();
}
}
}
@BeforeMethod
public void beforeMethod() {
// Create a new instance of the Firefox driver
driver = new FirefoxDriver();
//Put a Implicit wait, this means that any search for elements on the page could take the time the implicit wait is set for before throwing exception
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//Launch the application.
driver.get("*****");<- actual link to a website cant provide it tough, sorry.
}
@AfterMethod
public void afterMethod() {
// Close the driver
}
}
公共类登录{
公共网络驱动程序;
@试验
public void main()引发异常{
文件src=新文件(“D:\\Eclipse Luna\\ExcelData\\TestData.xlsx”);
FileInputStream fis=新的FileInputStream(src);
XSSF工作簿wb=新XSSF工作簿(fis);
XSSFSheet sheet1=wb.getSheetAt(0);
int rowcount=sheet1.getLastRowNum();
字符串url=driver.getCurrentUrl();
System.out.println(url);
对于(int i=1;iurl
和url1
是字符串,您不会将字符串与!=
或=
进行比较,而是与相等进行比较。请尝试
if(!url.equals(url1))
开头的感叹号的意思是不是,谢谢你,这真的很有效!:)我是java新手,还在学习,再次感谢你,这对我帮助很大。