为什么我的selenium java测试脚本没有打印出简单的确认字符串?

时间:2017-12-22 01:05:34

标签: java selenium selenium-webdriver selenium-ide selenium-rc

我正在尝试完成用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输出)

2 个答案:

答案 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()

希望它可以解决您的问题。