字符串索引超出范围错误-7,尝试单击按钮时。
请在下面找到我的代码。
driver.findElement(By.id("ContentPlaceHolderView_ctlRegistration_CustomerDetail_TextBox2")).clear();
driver.findElement(By.id("ContentPlaceHolderView_ctlRegistration_CustomerDetail_TextBox3")).clear();
driver.findElement(By.id("ContentPlaceHolderView_ctlRegistration_CustomerDetail_Button2")).click();
//driver.findElement(By.cssSelector("#ContentPlaceHolderView_ctlRegistration_CustomerDetail_Button2")).click();
//driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
assertTrue(driver.findElement(By.xpath("//*[@id='ContentPlaceHolderView_ctlRegistration_Panel1']/table/tbody/tr[16]/td/label")).getText().toString().trim().matches(this.getProperties("CSR_Success_Message"))==true);
break;
该页面适用于所有测试方法。 以上代码适用于其中一种测试方法。但是不适用于其他方法。
答案 0 :(得分:0)
请为ContentPlaceHolderView_ctlRegistration_CustomerDetail_Button2
提供ONCLICK功能我已确认以下一行
element = driver.findElement(By.xpath("//*[@id='ContentPlaceHolderView_ctlRegistration_Panel1']/table/tbody/tr[16]/td/label"));
System.out.println(element.getText().toString().trim());
System.out.println(element.getText().toString().trim().matches("CSR_Success_Message"));
适用于以下html
<div id="ContentPlaceHolderView_ctlRegistration_Panel1">
<table>
<tbody>
<tr>
<td>
<label text="ok1">ok2</label>
</td>
</tr>
... 16 trs
使用
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
输出
ok2
false
我不知道这个错误的原因是什么。它似乎必须在按钮的javascript中,而问题中没有提供