我正在使用 Java 为 Selenium 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>
请帮忙吗?
答案 0 :(得分:2)
你的元素在框架内。所以你首先必须切换到框架。
e.g。
WebElement frame = driver.findElement(By.id("MAIN"));
driver.switchTo().frame(frame);
之前:
tagName = driver.findElement(By.className("welcome")).getTagName();
答案 1 :(得分:0)
fghjktghndfgt javascript部分来自一些恶意软件插入代码到您查看的每个页面