我有一个cucumber框架,数据按预期发送,但结果没有被正确读取。我怀疑是因为答案没有出现在计算器的文本框中:
org.junit.比较失败:预期:3实际:0
at org.junit.Assert.assertEquals(Assert.java:115)
at org.junit.Assert.assertEquals(Assert.java:144)
at io.autotest.steps.GivenSteps.i_should_get_an_answer_of(GivenSteps.java:48)
at ✽.Then I should get an answer of "3"(cucumber-feature/google-calc.feature:7)
功能文件功能:谷歌计算器应该计算正确的计算
场景概述:添加数字鉴于我在谷歌计算器页面上,当我将数字“”添加到数字“”时,我应该会得到一个答案“”
Examples:
| number1 | number2 | answer |
| 1 | 2 | 3 |
| 4 | 5 | 9 |
场景大纲:减去数字给定我在谷歌计算器页面当我减去数字“”到数字“”然后我应该得到“”的答案
Examples:
| number1 | number2 | answer |
| 10 | 5 | 5 |
| 15 | 10 | 5 |
步骤:
@Autowired
private GoogleCalcPage googleCalcPage;
@Given("^I am on google calculator page$")
public void iAmOnGoogleCalculatorPage() throws Throwable {
webDriver.get("https://www.google.ie/search?q=calculator");
Thread.sleep(3000);
}
@When("^I add number \"([^\"]*)\" to number \"([^\"]*)\"$")
public void i_add_number_to_number(String arg1, String arg2) {
googleCalcPage.clickOnGivenButton(webDriver, arg1);
googleCalcPage.clickOnGivenButton(webDriver, "+");
googleCalcPage.clickOnGivenButton(webDriver, arg2);
googleCalcPage.clickOnGivenButton(webDriver, "=");
}
@When("^I subtract number \"([^\"]*)\" to number \"([^\"]*)\"$")
public void i_subtract_number_to_number(String arg1, String arg2) {
googleCalcPage.clickOnGivenButton(webDriver, arg1);
googleCalcPage.clickOnGivenButton(webDriver, "−");
googleCalcPage.clickOnGivenButton(webDriver, arg2);
googleCalcPage.clickOnGivenButton(webDriver, "=");
}
@Then("^I should get an answer of \"([^\"]*)\"$")
public void i_should_get_an_answer_of(String arg1) {
Assert.assertEquals(arg1, googleCalcPage.getResult());
}}
页面对象@PageObject公共类GoogleCalcPage{@FindBy(id=“cwbt33”)私有WebElement btn1;@FindBy(id=“cwbt34”)私有WebElement btn2;@FindBy(id=“cwbt35”)私有WebElement btn3;@FindBy(id=“cwtltblr”)私有WebElement结果;
public GoogleCalcPage() {
}
//findElement(By.id("cwtltblr"));
public void clickOnGivenButton(WebDriver driver, String value) {
for (int i = 0; i < value.length(); i++) {
driver.findElement(By.id(String.format("cwtltblr", value.charAt(i)))).click();
//driver.findElement(By.xpath(String.format("//span[text()='%s']", value.charAt(i)))).click();
synchTime(1000);
}
}
private void synchTime(long time) {
try {
Thread.sleep(time);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getResult() {
String resultText = result.getText().trim();
return resultText;
}
}
想知道有没有人有什么想法?
如果结果没有显示,页面对象很难找到它,失败也就不足为奇了。
你有时间问题吗?你是在寻找早起的价值吗?如果你在图形浏览器中运行,比如Firefox,你会在结果框中看到一个值吗?
对我来说,似乎你需要麻烦拍摄你的页面对象,而不是其他任何东西。
我的猜测是我没有以正确的方式声明模式文档,但我不知道错误到底在哪里。我做错了什么?
我不熟悉量角器测试。似乎缺少getWebelement。我的保护者的版本是3.0。0.其他属性正常(如单击、评估…) 或者 (c:\Users\xxx\AppData\Roaming\npm\node\u modules\dragor\lib\element.js:754:36)位于c:\Users\xxx\AppData\Roaming\npm\node\u modules\dragor\nod
我正在使用cucumber框架进行移动应用程序测试。在pom.xml中,我给出了下面这个插件来运行TestClass.java--它有上传应用程序最新apk版本的代码。Main方法存在于这个TestClass中。我需要在实际测试执行之前运行这个。如果我使用pom.xml-->mvn clean test运行,我会得到这个错误。ClassNotFoundExpection总是与pom.xml一起抛出
我需要保存运行ICACLS命令的结果,更改它们,并将更改后的权限恢复回来。我使用vbcript来做到这一点。问题是,从保存的数据中读取行或整个数据会给我一个字符和一堆空格。但是如果我尝试读取结果数据的内容,由ICACLS上传,逐个字符,并动态打印,它会显示正确的内容。 我怀疑,问题出在ICACLS本身:它不写一个真正的文本文件。我找到了另一个遇到这种情况的人(https://windowssecr
我正在构建一个Apache Beam管道,将Kafka作为一个无界源进行阅读。 我能够使用直接运行器在本地运行它。 然而,当在云上使用Google Cloud Dataflow runner运行时,管道会因附加的异常堆栈跟踪而失败。 似乎最终是Conscrypt Java库抛出了。我真的不知道如何解决这个问题。
部署在两台计算机上的Apache Ignite服务器自动关闭。原木上没有具体的线索。我可以在日志文件中看到以下警告消息: