我正在尝试完成用Java
编写的测试脚本。一切都很好,我试图打印出一个确认,如果之前的所有步骤都表明帐户创建成功了。
为此,我将元素放在一个字符串中,然后使用System.out.println
命令打印出该元素。但由于某种原因,我得到的只是以下
确认:
而已。它应该显示字符串文本,其中显示“客户信息已成功添加”。在过去的两个小时里我一直试着让它打印出来。有人可以帮忙吗?
这是导致问题的代码。
String conf = driver.findElement(By.id("MainContent_lblTransactionResult")).getText();
System.out.println("CONFIRMATION: " + conf);
我检查并重新检查了元素ID,它是正确的元素ID。
https://imgur.com/RUPN3Ea(确认页面)
https://imgur.com/c2YtIAD(Eclipse输出)
答案 0 :(得分:0)
试试这个
String conf = driver.findElement(By.id("MainContent_lblTransactionResult")).innerHTML;
你想要从元素中取出的内容是在innerHTML中
答案 1 :(得分:0)
在点击提交后使用private int num_from_first_activity = 3;
private LinearLayout ll;
/**
* create EditText
*/
private void createEditText() {
ll = findViewById(R.id.layout_actual_effect);
for (int i = 0; i < num_from_first_activity; i++) {
EditText editText = new EditText(getApplicationContext());
ll.addView(editText);
}
}
/**
* get value from EditText
*
* @param position in LinearLayout
* @return
*/
public String getValue(int position) {
EditText editText = (EditText) ll.getChildAt(position);
return editText.getText().toString();
}
或Webdriver wait.until
等延迟。
尝试使用JavascriptExecutor获取文本,如下所示:
Thread sleep
您也可以尝试使用JavascriptExecutor jse = (JavascriptExecutor)driver;
String conf = jse.executeScript("$('#MainContent_lblTransactionResult').text();", "");
System.out.println("CONFIRMATION: " + conf);
代替.html()
.text()
希望它可以解决您的问题。