使用 selenium web 驱动程序为网页创建测试脚本,但登录后无法验证

creating a testing script using selenium web driver for a web page but not able to verify after login

我正在使用 JavaSelenium Webdriver.

编写我的第一个测试脚本

代码:

import static org.testng.AssertJUnit.assertTrue;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;


public class ligintest {

public static void main(String[] args) {
    // TODO Auto-generated method stub

    WebDriver driver = new FirefoxDriver();
    //Puts an Implicit wait, Will wait for 10 seconds before throwing exception
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    //Launch website
    driver.navigate().to("http://127.0.0.1:8080/blink/");

    //Maximize the browser
    driver.manage().window().maximize();

    //click on login button
    driver.findElement(By.xpath(".//*[@id='loginForm']/table/tbody/tr[9]/td[1]/button")).click();

    //confirm and closing the pop-up for empty field
    Alert alert=driver.switchTo().alert();
    System.out.println(alert.getText());
    alert.dismiss();

    //login and 3nd test case
    driver.findElement(By.xpath(".//*[@id='userName']")).click();
    String tagName = "";
    // Enter username "jaamoon" password "welcome"
    driver.findElement(By.xpath(".//*[@id='userName']")).sendKeys("jaamoon");
    driver.findElement(By.xpath(".//*[@id='pwd']")).sendKeys("welcome");
    driver.findElement(By.xpath(".//*[@id='loginForm']/table/tbody/tr[9]/td[1]/button")).click();

    tagName = driver.findElement(By.className("welcome")).getTagName();
    System.out.println(tagName);


    //String result = driver.findElement(By.linkText("Welcome JAAMOON(CLIENT NAME)")).getText();
    //System.out.println(" The Result is " + result);



    driver.close();   
}

}

我也尝试过使用 Xpath,但总是抛出错误

Unable to locate element.

必须验证是否以 JAAMOON 身份登录用户。 下面是呈现后控制台中的页面代码:

   <html>
   <head>
   <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
   <title>Jaamoon Blink-jaamoon</title>
   <script src="js/ajax.js" type="text/javascript">
   <script type="text/javascript">
   <script>
   <script id="fghjktghndfgt" type="text/javascript">
   </head>
   <frameset frameborder="no" border="0" rows="0%,100%">
   <frame src="">
   <frame id="MAIN" name="MAIN" src="jaamoon-dealer-dashboard.jsp?spv=MYHOME&preventionflag=r0s84x9EfaZe3RHYevHz">
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html onselectstart="return false;" oncontextmenu="return false;">
   <head>
   <body onunload="" onpageshow="if (event.persisted) noBack();" onload="noBack();" style="margin:0px;" jhjlijpomuhn_m="l" data-object="true">
   <style>
   <div id="transWindow" class="TransDiv" style="width: 100%; height: 99%; visibility: hidden; position:absolute;"></div>
   <div id="mainWindow" style="width: 100%; height: 99%; visibility: hidden; position: absolute;z-index:1500;"></div>
   <div id="header">
   <div id="topmenu">
   <link href="http://www.jaamoon.com/jportalbeta/images/jaamoon-icon.ico" rel="SHORTCUT ICON">
   <link type="text/css" rel="stylesheet" href="css/tabledesign.css">
   <link type="text/css" rel="stylesheet" href="css/newcss.css">
   <script src="js/jquery.min.js" type="text/javascript" language="JavaScript">
   <script type="text/javascript">
   <link media="screen" type="text/css" href="css/newcss.css" rel="stylesheet">
   <div id="transWindow" class="TransDiv" style="width: 98%;height: 99%;visibility: hidden;position: absolute;"></div>
   <div id="mainWindow" style="width: 98%;height: 99%;visibility: hidden;position: absolute;"></div>
   <table cellspacing="0" cellpadding="0" border="0px" align="center">
   <tbody>
   <tr>
   <td width="8%"></td>
   <td valign="top">
   <table cellspacing="0" cellpadding="0" border="0">
   <tbody>
   <tr>
   <td colspan="2">
   <table width="100%" cellspacing="0" cellpadding="0" border="0px">
   <tbody>
   <tr>
   <td class="welcome" width="10%" align="right"> </td>
   <td width="40%">
   <table width="100%" cellspacing="0" cellpadding="0" border="0">
   <tbody>
   <tr>
   <td width="95%">
   <table width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
   <tbody>
   <tr>
   <td class="top-navigation" nowrap="nowrap">
   <span class="welcome" style="font-size:11px;">Welcome JAAMOON(CLIENT NAME)</span>
   |
   <a class="top-navigation" href="javascript:transWindow('jaamoon-change-password.jsp?isClosable=1&preventionflag=sqR3x4QuseFR4F17rDxI', 400, 320, true)">Change Password</a>
   |
   <a class="top-navigation" href="logout">Logout</a>
   |       
   <span class="welcome" style="font-size:11px;">Last login :2015-03-16 12:08:06</span>
   |
   <a class="top-navigation" style="cursor: pointer;" onclick="openAlertPopups('about.jsp?preventionflag=sqR3x4QuseFR4F17rDxI','About', 400, 200);">About</a>
   <span class="welcome" style="font-size:11px" align="right">SMS Balance : -308</span>
   </td>
   </tr>
   </tbody>
   </table>
   </td>
   <td colspan="2">
   </tr>
   <tr align="right">
   </tbody>
   </table>
   </td>
   </tr>
   </tbody>
   </table>
   </td>
   </tr>
   </tbody>
   </table>
   <table id="table3" width="100%" cellspacing="0" cellpadding="0" border="0px" style="table-layout:fixed;">
   </td>
   <td style="float:left;">
   </tr>
   </tbody>
   </table>
   </div>
   </div>
   <div id="newAlertDiv">
   <div> </div>
   <div id="tabdesign" class="ui-tabs ui-widget ui-widget-content ui-corner-all">
   <div id="slide-out-div">
   <div id="SummarySection_status1" style="display: none;background-color: #FFFFFF;"></div>
   <div id="content">
   <div class="footer-new">
   <script src="js/jquery-1.4.2.min.js">
   <script src="js/jquery-ui-1.8.6.custom.min.js">
   <script src="js/highcharts-2-2-5.js">
   <script src="js/common.js">
   <script src="js/datetimepicker.js">
   <script src="js/ajax.js">
   <script src="js/dateFormat.js">
   <script src="js/jquery.playSound.js">
   <span id="playSound"></span>
   <script>
   <script type="text/javascript">
   <script src="js/ajax.js">
   <script src="js/jquery.jqGrid.min.js" type="text/javascript">
   <script type="text/javascript">
   <script type="text/javascript">
   <script type="text/javascript">
   </body>
   </html>
   </frame>
   </frameset>
   <div class="abineNotificationPanel" style="background: none repeat scroll 0% 0% transparent; margin: 0px; padding: 0px; z-index: 2147483647; position: absolute; top: 10px; right: 20px; overflow: hidden; border-width: 0px; height: 73px; width: 420px;">
   </html>

有什么帮助吗?

您的元素在框架内。所以你首先必须切换到框架。

例如

WebElement frame = driver.findElement(By.id("MAIN"));
driver.switchTo().frame(frame);

之前:

tagName = driver.findElement(By.className("welcome")).getTagName();

fghjktghndfgt javascript 部分来自某些恶意软件,它会将代码插入您查看的每个页面