Appium_Python_API

一、 Appium iOS API

1.1) WebDriverWait(self.driver, 10).until(
   EC.presence_of_element_located((AppiumBy.IOS_PREDICATE, "type == 'XCUIElementTypeStaticText' AND label CONTAINS 'Hello'")))
1.2) driver.find_element(AppiumBy.IOS_PREDICATE, "type == 'XCUIElementTypeStaticText' AND label CONTAINS 'World'")

1.3)  driver.find_element(AppiumBy.IOS_CLASS_CHAIN, '**/XCUIElementTypeStaticText[`name == "HaHa"`]').click()

二、 Appium API

2.1) find_element_by_android_uiautomator (‘new UiSelector().text(“XXXX”)’).click 正常匹配
2.2) find_element_by_android_uiautomator (‘new UiSelector().textContains(“客服”)’).click 模糊匹配
2.3) find_element_by_android_uiautomator (‘new UiSelector().textStartsWith(“XXXX”)’).click 开头匹配
2.4) find_element_by_android_uiautomator (‘new UiSelector().resourceId(“XXXX”)’).click()
2.5) find_element_by_android_uiautomator (‘new UiSelector().className(“XXXX”)’).click()
2.6) find_element_by_android_uiautomator (‘new UiSelector().description(“XXXX”)’).click()
2.7)WebDriverWait(driver,10).until(expected_conditions.xx())) ,xx参考如下:
  title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值
  title_contains : 判断当前页面的title是否包含预期字符串,返回布尔值
  presence_of_element_located : 判断某个元素是否被加到了dom树里,并不代表该素一定可见
  visibility_of_element_located : 判断某个元素是否可见. 可见代表元素非隐藏,并且元素的宽和高都不等于0
  visibility_of : 跟上面的方法做一样的事情,只是上面的方法要传入locator,这个方法直接传定位到的element就好了
  presence_of_all_elements_located : 判断是否至少有1个元素存在于dom树中。
  text_to_be_present_in_element : 判断某个元素中的text是否 包含 了预期的字符串
  text_to_be_present_in_element_value : 判断某个元素中的value属性是否 包含 了预期的字符串
  frame_to_be_available_and_switch_to_it : 判断该frame是否可以switch进去,如果可以的话,返回True并且switch进去,否则返回False
  invisibility_of_element_located : 判断某个元素中是否不存在于dom树或不可见
  element_to_be_clickable : 判断某个元素中是否可见并且是enable的,这样的话才叫clickable
  staleness_of : 等某个元素从dom树中移除,注意,这个方法也是返回True或False
  element_to_be_selected : 判断某个元素是否被选中了,一般用在下拉列表
  element_selection_state_to_be : 判断某个元素的选中状态是否符合预期
  element_located_selection_state_to_be : 跟上面的方法作用一样,只是上面的方法传入定位到的element,而这个方法传入locator
  alert_is_present : 判断页面上是否存在alert
  WebDriverWait(chromedriver,10).until(expected_conditions.alert_is_present()).accept() #10秒钟等待浏览器弹出的对话框,如果出现,就点击确定按钮
2.8) 显示等待:
  WebDriverWait(driver, 10,5).until(lambda driver:driver.find_element_by_id("XXXX"))
2.9) WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())
2.10)  driver.find_element_by_id("resourceId").get_attribute("checked") , get_attribute("text")
2.11)获取文本跟输入文本: element.text , element_send_keys("123456")
2.12) 获取页面资源: driver.page_source
2.13)对webview的处理
  driver.context)
  driver.find_element_by_xpath('//*[@text="我的"]').click()
  driver._switch_to.context('WEBVIEW_com.yipiao')

 

 

参考内容:
1) https://blog.csdn.net/hdandan2015/article/details/78407627
2) WebDriverWait参考: https://www.cnblogs.com/yicaifeitian/p/4749149.html
3)appium_python_api: https://www.cnblogs.com/yoyoketang/p/6189441.html

 

posted @ 2019-01-31 17:35  jiguanghover  阅读(180)  评论(0编辑  收藏  举报