我有这样的场景,我想从excel中读取值并输入用户名和密码字段,稍后要通过与Excel值比较来验证输入的用户名和密码是否正确。
以下是w.r.t给“gmail”的示例代码。 HTML代码:
<input type="password" name="Passwd" id="Passwd">
Webdriver代码:
Driver.driver.get("https://www.gmail.com");
Driver.driver.findElement(By.name("Passwd")).sendKeys("mahesh");
System.out.println(Driver.pFLogin.getTxtPassword().getAttribute("value"));
获取上述代码的错误,因为密码字段没有“value”属性
请帮助我......
由于 马赫什
答案 0 :(得分:2)
试试这个,
System.out.println(Driver.findElement(By.id("Passwd")).getAttribute("value"));
确保通过键入输入元素,您将其value属性更改为文本。
答案 1 :(得分:0)
尝试此代码一次
File sr=new File("File path");
//load file
FileInputStream fis=new FileInputStream(sr);
//load workbook
XSSFWorkbook wb=new XSSFWorkbook(fis);
XSSFSheet wsh=wb.getSheetAt(0);
//read data
String s1=wsh.getRow(0).getCell(0).getStringCellValue();
String s2=wsh.getRow(0).getCell(1).getStringCellValue();
String s3=wsh.getRow(0).getCell(2).getStringCellValue();
System.out.println(s1+" "+s2+" "+s3);
Thread.sleep(3000);
fis.close();
WebDriver d1=new FirefoxDriver();
d1.get("website url");
d1.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
Thread.sleep(10000);
d1.findElement(By.xpath("//*[@id='username']")).sendKeys(s2);
d1.findElement(By.xpath("//*[@id='password']")).sendKeys(s3);
d1.findElement(By.xpath("xpath of the element")).click();
Thread.sleep(3000);
d1.close();
FileInputStream fs=new FileInputStream("file path");
Workbook wb1=WorkbookFactory.create(fs);
Sheet sh=wb1.getSheetAt(0);
Row row=sh.createRow(row value);
//Write data
Cell cell=row.createCell(cell value);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("ravi");
FileOutputStream fos=new FileOutputStream("file path");
wb1.write(fos);
fos.close();
}
}
答案 2 :(得分:0)
如果要查看密码(例如在屏幕上或在执行测试时),可以使用JSexecutor。
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("var arr = document.getElementsByTagName(\"input\");\n" +
"for (var i = 0; i < arr.length; i++) {\n" +
" if (arr[i].type == 'password') arr[i].setAttribute('type','text');\n" +
"}");
String password = fPassword.getAttribute("value");
logger.debug("pass:" +password);