Appium IOS自动化锁屏与解锁

from appium import webdriver
from time import sleep

from appium.webdriver.common.appiumby import AppiumBy
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

desired_capabilities = {
"platformName": "ios",
"appium:deviceName": "iPhone Jeff",
"appium:platformVersion": "16.5.1",
"appium:bundleId": "welab.bank.mobile.stage",
"appium:udid": "00008030-000A09C81A43802E"
}
desired_capabilities1 = {
"platformName": "ios",
"appium:deviceName": "iPhone 13",
"appium:platformVersion": "16.6",
"appium:bundleId": "welab.bank.mobile.stage",
"appium:udid": "00008110-000235E022EA201E"
}


driver = webdriver.Remote(command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities=desired_capabilities1)
sleep(10)

ele = driver.find_element(AppiumBy.IOS_PREDICATE, "name == '用戶名稱'")
# label == "用戶名稱" AND name == "用戶名稱" AND value == "用戶名稱"
# //XCUIElementTypeStaticText[@name="用戶名稱"]
ele.send_keys("qatest101")

print(ele.location)
# driver.find_element(By.ID, "")
# iOS自动化测试元素定位的accessibility_id主要使用元素的label或name(两个属性的值都一样)属性进行定位。
driver.find_element(AppiumBy.ACCESSIBILITY_ID, "密碼").send_keys("Aa123456")
sleep(2)
driver.hide_keyboard()
sleep(1)
driver.find_element(AppiumBy.ACCESSIBILITY_ID, "登入").click()
sleep(10)

driver.lock()

sleep(2)

try:
driver.unlock() # 如果有密码,这句会fail,但是会点亮屏幕,并且展示密码输入的页面
except:
pass

sleep(5)

driver.find_element(AppiumBy.XPATH, '//XCUIElementTypeKey[@name="2"]').click()
driver.find_element(AppiumBy.XPATH, '//XCUIElementTypeKey[@name="3"]').click()
driver.find_element(AppiumBy.XPATH, '//XCUIElementTypeKey[@name="6"]').click()
driver.find_element(AppiumBy.XPATH, '//XCUIElementTypeKey[@name="5"]').click()
driver.find_element(AppiumBy.XPATH, '//XCUIElementTypeKey[@name="8"]').click()
driver.find_element(AppiumBy.XPATH, '//XCUIElementTypeKey[@name="9"]').click()
# ele_2 = driver.find_element(AppiumBy.XPATH, '//XCUIElementTypeKey[@name="2"]')
# ele_3 = driver.find_element(AppiumBy.XPATH, '//XCUIElementTypeKey[@name="3"]')
#
# TouchAction(driver).press(ele_2,ele_2.location.get("x"),ele_2.location.get("x")).wait(190).\
# move_to(ele_2, ele_3.location.get("x"), ele_3.location.get("y")).perform().release()

sleep(5)


# https://www.kancloud.cn/testerhome/appium_docs_cn/2001743



# 参考 External Libraries.site-packages.appium.webdriver.common.appiumby
class AppiumBy(By):
IOS_PREDICATE = '-ios predicate string'
IOS_UIAUTOMATION = '-ios uiautomation'
IOS_CLASS_CHAIN = '-ios class chain'
ANDROID_UIAUTOMATOR = '-android uiautomator'
ANDROID_VIEWTAG = '-android viewtag'
ANDROID_DATA_MATCHER = '-android datamatcher'
ANDROID_VIEW_MATCHER = '-android viewmatcher'
# Deprecated
WINDOWS_UI_AUTOMATION = '-windows uiautomation'
ACCESSIBILITY_ID = 'accessibility id'
IMAGE = '-image'
CUSTOM = '-custom'


# 参考selenium

class By:
"""Set of supported locator strategies."""

ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"

相关推荐

  1. Appium IOS自动化

    2024-03-19 10:58:08       47 阅读
  2. mysql8

    2024-03-19 10:58:08       23 阅读
  3. 使用指纹的流程

    2024-03-19 10:58:08       42 阅读
  4. oracle 查询 &&

    2024-03-19 10:58:08       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-19 10:58:08       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-19 10:58:08       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-19 10:58:08       87 阅读
  4. Python语言-面向对象

    2024-03-19 10:58:08       96 阅读

热门阅读

  1. C语言经典面试题目(十九)

    2024-03-19 10:58:08       35 阅读
  2. 前端结合 react axios 获取真实下载、上传进度

    2024-03-19 10:58:08       47 阅读
  3. Unity3D 大地图分块:分块编辑小AStar地图详解

    2024-03-19 10:58:08       39 阅读
  4. mlflow ui --backend-store-uri 参数详解

    2024-03-19 10:58:08       42 阅读
  5. 【DevOps基础篇】如何改善你的SDLC过程

    2024-03-19 10:58:08       50 阅读
  6. 力扣105---从前序与中序序列中构造二叉树

    2024-03-19 10:58:08       48 阅读
  7. C#LiteDB基本使用

    2024-03-19 10:58:08       46 阅读
  8. 【云开发笔记No.5】DevOps的价值

    2024-03-19 10:58:08       38 阅读
  9. 深入理解 C# Unity 中的事件和委托

    2024-03-19 10:58:08       41 阅读