Robotium --->它不是webview按钮,而是点击edittext框

时间:2013-10-23 06:36:45

标签: android android-webview robotium

我对Appium很新。我用 .apk 文件尝试了 robotium blackbox方式来填充一个小的Web视图表单,该表单由其他rails服务器自动注入,并且每个东西都能正常工作但是< / p>

当我尝试点击保存&amp;单击下一步按钮,单击上一个条目通过脚本归档的编辑文本框。

我一路使用

solo.waitForText("SaveAndNext");
solo.clickOnWebElement(By.id("SaveAndNext"));
solo.clickOnWebElement(By.name("Save & Next"));
solo.clickOnWebElement(By.textContent("Save & Next"));

但是点击了edittext框。

这是我的代码: -

solo.waitForActivity( “ViewQuestions”);

getInstrumentation().waitForIdleSync();
solo.clickOnText("(?i).*?Yes.*");

solo.enterTextInWebElement(By.className("text_answer"), "2");
solo.hideSoftKeyboard();

solo.waitForText("SaveAndNext");
//solo.clickOnWebElement(By.id("SaveAndNext"));
//solo.clickOnWebElement(By.name("Save & Next"));
//solo.clickOnWebElement(By.textContent("Save & Next"));

for (WebElement webElement : solo.getCurrentWebElements()) {
  Log.d("Robotium", "id: " + webElement.getId() + " textContent: "
      + webElement.getTagName());
  if (webElement.getId() == "SaveAndNext") {
    solo.clickOnWebElement(By.id("SaveAndNext"));
  }
}

我检查过 if(webElement.getId()==“SaveAndNext”)是否已通过。 并在logcat

**Robotium id: SaveAndNext textContent: INPUT**

显示。

enter image description here

任何帮助都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

删除此for循环并使用:

solo.clickOnWebElement(By.id("SaveAndNext"));

顺便说一句,你无法比较像这样的字符串:

webElement.getId() == "SaveAndNext"

你应该使用equals:

"SaveAndNext".equals(webElement.getId())

答案 1 :(得分:0)

我遇到了类似的问题,因为点击次数不合适。从robotium.org获得此解决方案

为什么文字和按钮点击出错?

如果在其中一个受支持的版本上发生此问题,请尝试将此标记添加到测试项目的AndroidManifest.xml

使用-sdk android:targetSdkVersion =“YOUR_VERSION”

对于Android 2.0,YOUR_VERSION为6,Android 2.1为7,Android 2.2为8。

如果这样无法解决问题,请尝试将此标记添加到要测试的应用程序的AndroidManifest.xml中:

支持屏幕android:anyDensity =“true”