我是Calabash的新手,可悲的是,他没有编程经验,所以我希望人们对我有耐心并提供明确的答案。
在登录页面上,我已成功检查...
但我似乎无法测试...的存在和启用状态。
使用query("*")
,我可以获取所有ID,但我对要测试的实际查询命令感到困惑。
这是我迄今为止的测试:
Feature: Sign In appearance
Scenario: Upon launch, all elements of the login page should appear correctly
Then I see "Email Address"
Then I see "Password"
Then I see "button marked:'Sign In'"
产生以下结果:
Then I see "button marked:'Sign In'" # calabash-android-0.4.20/lib/calabash-android/steps/assert_steps.rb:5
Action 'assert_text' unsuccessful: Text'button marked:'Sign In'' was not found (RuntimeError)
features/Login_appearance.feature:6:in `Then I see "button marked:'Sign In'"'
Failing Scenarios:
cucumber features/Login_appearance.feature:3
我该怎么办?
答案 0 :(得分:2)
而不是尝试使用预定义的步骤创建自定义步骤并使用Ruby api的query
和wait_for_elements_exist
方法。
首先看一下这篇文章,了解有关查询语言的更多信息: http://krazyrobot.com/2014/04/calabash-using-query/
然后可能通过id找到query
的元素,例如:
在步骤定义中创建自定义步骤,并使用wait_for_elements_exist
方法验证元素:
Then /^all the elements are present on the login screen$/ do
wait_for_elements_exist(["* id:'email_field'", "* id:'pwd_field'"])
end
答案 1 :(得分:1)
您是否尝试过更换
Then I see "button marked:'Sign In'"
与
Then I see "Sign In"