2

我有一个场景,我想从 excel 中读取值并放入用户名和密码字段,稍后想通过与 Excel 值比较来验证输入的用户名和密码是否正确。

以下是提供给“gmail”的示例代码。HTML 代码:

<input type="password" name="Passwd" id="Passwd">

网络驱动程序代码:

Driver.driver.get("https://www.gmail.com");
Driver.driver.findElement(By.name("Passwd")).sendKeys("mahesh");
    System.out.println(Driver.pFLogin.getTxtPassword().getAttribute("value"));

上述代码出错,因为密码字段没有“值”属性

请帮我解决这个问题..

谢谢马赫什

4

3 回答 3

2

尝试这个,

System.out.println(Driver.findElement(By.id("Passwd")).getAttribute("value"));

确保通过输入输入元素,您将其值属性更改为文本。

于 2013-10-07T06:04:02.783 回答
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);
于 2018-09-28T14:25:22.363 回答
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();

}

}

于 2016-06-24T09:53:32.867 回答