https://github.com/appium/ruby_lib/blob/master/docs/docs.md
- 控件查找
- 获取和操作控件信息
- 手势操作
- 系统操作
控件查找一般通过xpath name id 来查找控件,例如:
find_element(:xpath,"//android.widget.Button[@text='Sign In’]")
find_element(:name, “account")
find_element(:id,’tvAccount’)
可以利用xpath 来定位text的控件 如find_element(:xpath,"//*[@text='Sign In']")
find_elements - 查找多个元素, 并以数组形式返回。没找到,返回空数组 []。
除了使用find_element find_elements 查找控件还可以使用button textfield text


获取和操作控件信息
e.name # button, text
e.value # secure, textfield
e.type 'some text' # type text into textfield
e.clear # clear textfield
e.tag_name # calls .type (patch.rb)
e.text
e.size
e.location
e.rel_location
e.click
e.send_keys 'keys to send'
e.set_value 'value to set' # ruby_console specific
e.displayed? # true or false depending if the element is visible
e.selected? # is the tab selected?
e.attribute('checked') # is the checkbox checked?
其中
#text 获取控件的文本信息 如 element.text
#type 向控件输入信息 如element.type(“xxxxx”), element.type “xxxxx”
#send_keys 向控件输入信息 如element.send_keys“xxxxx”), element.send_keys “xxxxx”
#click 点击控件 如element.clike
手势操作
# move_to
# long_press
# press
# release
# tap
# wait
# swipe
# perform
# cancel
等待方法的使用:
#no_wait 设置等待时间为0
#set_wait 设置等待时间 如 set_wait 10 设置等待时间为10秒
#wait
wait { text 'this alert is so cool' } //等待文本”this alert is so cool”再下一步
#wait_true
wait_true { ignore { text('The resource is unavailable') }.nil? } //一直等待直到文本 The resource is unavailable’出现再下一步
alert 原生的警告弹窗的使用方式
点击alert的OK按钮用: alert_accept
点击alert的cancel按钮 用:alert_dismiss
得到alert的信息文本用:alert_text
得到alert的OK按钮上的文字用:alert_accept_text
得到alert的cancel按钮上的文字用:alert_dismiss_text

require 'rubygems' require 'appium_lib' caps = { caps: { platformName: 'Android', appActivity: 'com.xxxxx.MainActivity', appPackage: 'com.xxxxx.xxxxxxx', deviceName: 'appiumTest', app:'/Users/xxxxxxx.apk' }, appium_lib: { wait_timeout: 30, sauce_username: nil, sauce_access_key: nil } } driver = Appium::Driver.new(caps).start_driver Appium.promote_appium_methods(Object) testtext=driver.find_element(:id,'tvAccount').text if testtext=='Account' driver.find_element(:id,'Account').click driver.find_element(:id,'EmailEditText').type 'xxxx@xxxx' driver.find_element(:id,'PwdEditText').type 'xxxxx' # driver.find_element(:xpath,"//android.widget.Button[@text='Sign In']").click driver.find_element(:xpath,"//*[@text='Sign In']").click # driver.find_element(:id,'button1').click alert_accept # wait { text 'The resource is unavailable' } # wait_true { ignore { text('The resource is unavailable') }.nil? } # driver.find_element(:id,'button1').click alert_accept end
问题1:当键盘弹不出来,输入不了文字的时候,可改send_keys为type .
问题2:怎么样向输入框输入enter

浙公网安备 33010602011771号