Android:从选项列表中选择项目时,单击退出屏幕
我在看android设备上的选项列表 选项代码如下所示:Android:从选项列表中选择项目时,单击退出屏幕,android,ruby,selenium-webdriver,Android,Ruby,Selenium Webdriver,我在看android设备上的选项列表 选项代码如下所示: <div class = "addMode"> <label for ="activityType">Activity Type</label> <div class="dataRow activityType"> <select id="activityType" class="valid"> <option value ="1" selected="sel
<div class = "addMode">
<label for ="activityType">Activity Type</label>
<div class="dataRow activityType">
<select id="activityType" class="valid">
<option value ="1" selected="selected">Appointment</option>
<option value ="2">Call</option>
<option value ="3">To-Do</option>
</select>
</div>
<div>
这可以从弹出菜单中选择“调用”活动,但是,一旦选择该活动,它就会从当前页面退出,并返回到调用页面
然后我试着:
el = @d.find_element(:id, "activityType")
el.click
el_opt = el.find_elements(:tag_name, "option")
el_opt.each.do |t|
if t.text() == 'Call' then
t.click
break
end
end
这也会产生相同的结果,即进行选择,然后退出屏幕
然后是:
opt = Selenium::WebDriver::Support::Select.new(@d.find_element(:xpath, "//*[@id='activityType']"))
opt.select_by(:text, "Call")
这也进行了选择,然后退出页面
然后我想,我也许可以使用触摸动作
我对Ruby还是个新手,我很可能读错了触摸屏的API
我尝试了以下方法:
TapObject = Selenium::WebDriver::TouchScreen.new(@d.find_element(:id, "activityType"))
el = @driver.find_element(:id, "activityType")
el_opt = el.find_elements(:tag_name, "option")
el_opt.each do |t|
if t.text() == "Call" then
TapObject.single_tap(t)
end
end
我得到一个未定义的方法“touchingletap”错误
是否有人遇到过此问题,或者知道如何在移动设备上单击/点击选择项而不退出当前页面
谢谢
杰夫看来解决这个问题的方法很简单。 不要尝试从弹出列表中单击元素,只需使用send键即可
el = @driver.find_element(:id, "activityType")
el.send_keys("Call")
谢谢
杰夫
el = @driver.find_element(:id, "activityType")
el.send_keys("Call")