当前位置: 首页 > news >正文

企业网站域名服务器网页开发背景

企业网站域名服务器,网页开发背景,推广app软件,定制网站建设制作浅尝Appium自动化框架 Appium自动化框架介绍Appium原理Appium使用安装平台驱动实战 坑 Appium自动化框架介绍 Appium 是一个开源的自动化测试框架#xff0c;最初设计用于移动应用的测试#xff0c;但现在它也扩展了对桌面端应用的支持。Appium 使得自动化测试变得更加简单最初设计用于移动应用的测试但现在它也扩展了对桌面端应用的支持。Appium 使得自动化测试变得更加简单并且支持跨平台能够同时对 iOS、Android、Windows 和 macOS 平台上的应用进行自动化测试。 不同于Selenium只是用来自动化测试web程序Appium可以自动化测试各个平台的原生应用。 官网 Appium原理 ------------------ | Test Scripts | | (Java, Python, | | JavaScript) | -----------------|v ----------------- | Appium Server | | (HTTP Server) | -----------------|------------------------------------------------------------------| | | |v v v v ------------ ------------- -------------- -------------- | iOSDriver | | AndroidDriver | | WindowsDriver | | macOSDriver | | XCUITest | | (UIAutomator) | | (WinAppDriver)| | (macOSDriver)| ------------ ------------- -------------- --------------| | | | ------------ ------------- -------------- -------------- | iOS App | | Android App| | Windows App| | macOS App | ------------ ------------- -------------- -------------- Test Scripts 测试脚本可以使用不同编程语言编写如 Java、Python 或 JavaScript向 Appium Server 发送 HTTP 请求。Appium Server Appium Server 是一个 HTTP 服务器负责接收客户端的请求并将请求转发给相应的平台驱动程序。平台驱动 iOSDriver 用于 iOS 平台支持通过 XCUITest 或 UIAutomation 与 iOS 设备交互。 AndroidDriver 用于 Android 平台支持通过 UIAutomator 或 Espresso 与 Android 设备交互。 WindowsDriver (WinAppDriver) 用于 Windows 平台支持通过 WinAppDriver 进行桌面应用的自动化测试。 macOSDriver 用于 macOS 平台支持通过 macOSDriver 进行桌面应用的自动化测试。应用 驱动程序与设备或模拟器上的应用进行交互执行各种操作如启动应用、查找元素、点击、输入等。 Appium使用 安装平台驱动 驱动平台适用场景uiautomator2Android原生 Android 应用自动化xcuitestiOS原生 iOS 应用自动化espressoAndroid适用于使用 espresso 框架的 Android 应用mac2macOSmacOS 应用自动化桌面应用windowsWindowsWindows 应用自动化桌面应用safariiOSiOS Safari 浏览器自动化geckoAndroid, iOSFirefox 浏览器自动化chromiumAndroid, macOS, WindowsChromium 浏览器自动化包括 Chrome 比如 安装mac驱动 appium driver install mac2安装后可以用如下命令看是否安装成功。 appium driver list --installed实战 玩了2天发现Appium对mac和win上的桌面应用支持的并不是太好至少兼容性一般。后面我就转到测试android手机上的应用。写了小demo玩玩打开QQ找到某某人发送特定消息。 import timefrom appium import webdriver from appium.options.android import UiAutomator2Options from appium.webdriver.common.appiumby import AppiumBy# Desired Capabilities 配置 desired_caps dict(platformNameAndroid,platformVersion14,deviceNameRFCT20EGLNJ,automationNameUiAutomator2,appPackagecom.tencent.mobileqq,appActivitycom.tencent.mobileqq.activity.SplashActivity,enforceXPath1True,noResetTrue )# 连接 Appium Server driver webdriver.Remote(http://127.0.0.1:4723, options UiAutomator2Options().load_capabilities(desired_caps))try:# 等待并点击搜索按钮search_button driver.find_element(AppiumBy.ID, com.tencent.mobileqq:id/wwk)search_button.click()time.sleep(2)# 等待搜索输入框并输入 QQ 号码search_layout driver.find_element(AppiumBy.ID, com.tencent.mobileqq:id/jo9)location search_layout.locationsize search_layout.size# 点击搜索框聚焦driver.tap([(location[x] size[width] / 2, location[y] size[height] / 2)], 500)# 输入qq号码driver.press_keycode(16)driver.press_keycode(10)driver.press_keycode(9)driver.press_keycode(16)# 点击qq用户user_list_layout driver.find_element(AppiumBy.XPATH, (//android.widget.LinearLayout[resource-idcom.tencent.mobileqq:id/ecl])[1])# user_button user_list_layout.find_element(AppiumBy.ANDROID_UIAUTOMATOR, text(freedom-studio)) # 可以定位精确匹配user_button user_list_layout.find_element(AppiumBy.ANDROID_UIAUTOMATOR, new UiSelector().textContains(freedom)) # 可以定位模糊匹配# user_button user_list_layout.find_element(AppiumBy.XPATH, .//*[contains(text(), freedom)]) # 无法定位user_button.click()time.sleep(2)# 找到聊天输入框msg_input driver.find_element(AppiumBy.ID, com.tencent.mobileqq:id/input)msg_input.send_keys(hello)# 找到发送按钮send_button driver.find_element(AppiumBy.ID, com.tencent.mobileqq:id/send_btn)send_button.click()print(Message sent successfully!)finally:# 退出会话driver.quit()期间要用到Appium Inspector这个工具就是用来定位元素的。 记得要先安装adb工具哦。 其中 appium:deviceName设备名可以通过adb devices获取。 adb devicesappium:appPackage应用包名和appium:appActivity应用界面可以通过如下adb命令获取。 adb shell dumpsys window | grep mCurrentFocus最右边的Selected Element里就有xpathid等信息。如果没有也别感到意外那就是没有只能通过其他方法定位元素了。 比如代码里的 # user_button user_list_layout.find_element(AppiumBy.ANDROID_UIAUTOMATOR, text(freedom-studio)) # 可以定位精确匹配 user_button user_list_layout.find_element(AppiumBy.ANDROID_UIAUTOMATOR, new UiSelector().textContains(freedom)) # 可以定位模糊匹配 # user_button user_list_layout.find_element(AppiumBy.XPATH, .//*[contains(text(), freedom)]) # 无法定位理论上从Appium Inspector里看结构很清晰XPath肯定是可以定位到的但是实际就是不行那只能试试其他方法了比如AppiumBy.ANDROID_UIAUTOMATOR。 坑 玩Appium也遇到不少坑。 Appium对桌面应用程序支持的并不是非常好主要还是用来做手机应用的自动化。比如在mac或者win上Appium Inspector经常无法定位特定元素。我们一般使用ID, XPath来定位元素但是有时候定位不到那也只能另辟蹊径比如用位置坐标来定位再比如用ANDROID_UIAUTOMATOR等等。测试设备是要和启动appium server的机器连接在一起的。
http://www.hkea.cn/news/14335301/

相关文章:

  • 陕西住房和城乡建设厅网站6wordpress 响应 完整 模板
  • 网站建设与维护asp大数据分析
  • 利用php做网站教程win10 wordpress安装教程视频教程
  • 网站建设与网页制作实训报告wordpress+后门检查
  • 你学做网站学了多久wordpress 内置tag
  • 电商网站首页字体网站推广填空题
  • 四川省信用建设促进会网站网站建设新际
  • 潍坊网站设计好处域名服务器分为
  • 珠海网站制作定制新渝网
  • 网站建设与管理课程总结中小企业网站建设开题报告
  • 什么网站可以做引文分析网络服务合同模板
  • 淘宝上网站建设是什么seo策略是什么意思
  • 友情链接的网站道滘镇做网站
  • 顶做抱枕网站搭建发卡网站要多少钱
  • 专业做生鲜的网站源码超市网站源码
  • 所有网站都能进的浏览器特色食品网站建设策划书
  • 网站被攻击打不开怎么办用仿站工具做网站
  • 宁波网站排名公司百度点击排名收费软件
  • 不备案如何架设网站成都外包公司有哪些
  • 舟山市住房城乡建设局网站我要用新浪云做网站
  • 网站建设如何空间绑定域名阿里云怎么建网站
  • 服装网站建设开题报告网站后台使用
  • 手机wap网站模板 带后台莱芜网站制作公司
  • 九江哪里做网站建标库官网入口
  • 大学生兼职网站开发毕设论文东莞网页开发
  • 网站维护收费广东网站开发收费
  • 网站的特征包括大连网站开发培训价格
  • 湛江网站搜索引擎推广海门工程造价信息网
  • 合肥网站制作建设公司广州注册公司全包
  • 自己怎么做单页网站台州市城乡建设局网站