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

dede wap网站模板下载自助建站平台

dede wap网站模板下载,自助建站平台,wordpress淘宝客 采集,wordpress 自动tag关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理#xff0c;构建成功的基石 在自动化测试工作之前#xff0c;你应该知道的10条建议 在自动化测试中#xff0c;重要的不是工具 在移动应用开发的领域中#xff0c;Appium 作为一款强大的自动化测试工具#xf… 关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理构建成功的基石 在自动化测试工作之前你应该知道的10条建议 在自动化测试中重要的不是工具 在移动应用开发的领域中Appium 作为一款强大的自动化测试工具不断演进和发展为开发者提供了更高效、更灵活的测试解决方案。Appium 2.0 相较于之前的版本在多个方面进行了优化和改进带来了全新的功能和体验。以下将从变化、核心特色以及与 Python 结合的基本使用过程三个方面来详细介绍 Appium 2.0。 一、Appium 2.0 相对 Appium 1.0 的变化 一架构层面 驱动与服务器分离在 Appium 1.0 中平台驱动与 Appium Server 紧密耦合导致更新和维护较为困难。而 Appium 2.0 实现了平台驱动与 Appium Server 的分离驱动可以独立安装和升级不再受 Appium Server 更新的限制。这大大提高了 Appium 的灵活性和可扩展性使得开发者能够根据不同的平台和设备需求单独安装和更新所需的驱动更好地应对多样化的测试场景。插件系统引入Appium 2.0 引入了插件生态系统将一些非核心功能从核心代码中分离出来转移到插件中。这不仅简化了 Appium 的核心功能使其更加简洁和易于维护还为开发者提供了更多的可能性能够通过安装和使用插件来扩展 Appium 的功能满足各种特定的测试需求。例如官方的 images 插件支持图像识别定位元素第三方插件 appium - device - farm 可集中管理测试设备。 二协议与标准遵循 严格遵循 W3C 协议Appium 2.0 严格遵循 W3C 协议与 Selenium 4 的协议规范相似。这意味着在编写测试脚本时需要按照 W3C 标准来填写 capabilities。在 Appium 1.0 中可能存在一些非标准的协议和 capabilities而在 2.0 中这种情况得到了改善所有的 capabilities 都需要遵循 W3C 标准这使得 Appium 与其他遵循 W3C 协议的测试工具更加兼容提高了测试的互操作性。 三安装与配置 依赖环境变化Appium 2.0 的安装和配置需要基于 Node.js 环境并且对 Node.js 的版本有特定要求。在安装过程中需要使用 appiumnext 参数进行安装正式发布后可使用 appium 参数。这种变化要求开发者在使用 Appium 2.0 之前需要确保系统中安装了符合要求的 Node.js 环境这也增加了使用 Appium 2.0 的门槛但同时也保证了 Appium 在不同环境中的稳定性和一致性。扩展安装模式Appium 2.0 引入了 Appium Extension CLI 模式用于更方便地扩展安装各种平台驱动和插件。这种模式使得开发者能够更轻松地管理和扩展 Appium 的功能根据具体的测试需求快速安装所需的驱动和插件提高了测试的效率和灵活性。 四测试脚本相关 服务器访问地址变更Appium 2.0 中Appium Server 的访问地址发生了变化不再需要后缀 /wd/hub。这意味着在测试脚本中需要相应地更新访问地址以确保与 Appium Server 的正确连接。开发者需要使用新的地址格式来连接 Appium Server这对于一些习惯了旧版本地址格式的开发者来说可能需要进行一些调整和适应。驱动和插件配置调整由于 Appium 2.0 引入了驱动和插件分离的概念开发者在使用测试脚本时需要根据具体的测试需求安装和配置相应的驱动和插件。这需要开发者对 Appium 的架构和插件系统有更深入的了解以便正确地配置和使用各种驱动和插件确保测试的顺利进行。Capabilities 格式更新因为 Appium 2.0 严格遵循 W3C 协议所以测试脚本中的 capabilities 格式也需要进行更新以确保与 Appium Server 的兼容性。开发者需要按照 W3C 标准来填写 capabilities这可能需要对现有测试脚本进行一些修改和调整以适应 Appium 2.0 的新要求。 二、Appium 2.0 的核心特色 一跨平台兼容性 统一测试框架Appium 2.0 提供了一个统一的测试框架能够在不同的操作系统和移动设备上运行相同的测试脚本。无论是 Android 还是 iOS 设备开发者都可以使用相同的测试代码来进行自动化测试大大提高了测试的效率和可移植性。一致的测试体验在不同的平台上Appium 2.0 能够提供一致的自动化测试体验。开发者可以使用相同的方法和接口来操作界面元素进行各种测试操作如点击、输入、滑动等。这种一致性使得测试脚本更加简洁和易于维护同时也提高了测试的准确性和可靠性。 二强大的功能支持 多种定位方式Appium 2.0 支持多种元素定位方式包括通过 ID、Name、XPath、Class Name 等常见方式还支持通过图片定位、iOS 谓词定位、Android UIAutomator 定位等高级定位方式。这使得开发者能够根据不同的应用界面结构和需求选择最合适的定位方式来定位界面元素提高了测试的灵活性和准确性。丰富的操作模拟 用户操作模拟能够模拟用户的各种操作如点击、输入、滑动、长按等。开发者可以使用相应的方法来实现这些操作从而实现对应用的自动化测试。设备功能模拟除了界面操作模拟Appium 2.0 还支持对设备功能的模拟如模拟键盘操作、手机通知栏操作等。这使得开发者能够更全面地测试应用在各种设备环境下的功能和表现。 三高度的可定制性 配置灵活性Appium 2.0 提供了丰富的配置选项开发者可以根据自己的需求对 Appium 进行灵活配置。例如可以设置测试环境、设备信息、测试参数等以满足不同的测试场景和需求。插件扩展能力如前所述Appium 2.0 的插件生态系统使得开发者能够通过安装和使用插件来扩展 Appium 的功能。开发者可以根据自己的需求选择合适的插件来满足特定的测试需求从而实现 Appium 的高度可定制化。 三、Appium 2.0 Python 基本使用过程 一环境搭建 安装 Node.js 下载与安装首先确保你的系统上安装了 Node.js。可以从 Node.js 官网下载并安装最新版本的 Node.js。在安装过程中按照安装向导的指示进行操作确保安装成功。安装 Appium 使用 npm 安装使用 npm 命令全局安装 Appium。打开命令行工具输入以下命令npm install -g appium。这将在系统中全局安装 Appium并使其可以在命令行中直接使用。安装 Appium 客户端库 Python 客户端如果使用 Python 作为开发语言需要安装 Appium 的 Python 客户端库。可以使用 pip 命令进行安装pip install Appium - Python - Client。启动 Appium 服务器 命令行启动在命令行中输入appium命令启动 Appium 服务器。这将启动 Appium 服务器并在后台运行。你可以在命令行中查看服务器的启动日志以确保服务器启动成功。Appium Desktop此外还可以使用 Appium Desktop 工具来启动和管理 Appium 服务器。Appium Desktop 是一个图形化工具提供了更直观的界面来操作 Appium 服务器同时还支持元素定位和调试等功能。 二基本使用步骤 设置 Desired Capabilities {platformName: Android,platformVersion: 10,deviceName: emulator - 5554,app: /path/to/your/app.apk,appPackage: com.example.app,appActivity: .MainActivity } 平台信息platformName指定了操作系统平台如Android或iOSplatformVersion指定了操作系统的版本。设备信息deviceName指定了设备的名称这通常是在设备连接到计算机时自动识别的名称。应用信息app指定了要测试的应用的路径appPackage指定了应用的包名appActivity指定了应用的启动活动。参数说明配置信息定义Desired Capabilities 是一个 JSON 对象用于描述测试会话的配置信息如平台名称、设备名称、应用路径等。以下是一个示例初始化 Appium Driverfrom appium import webdriverfrom appium.options.common.base import AppiumOptionsoptions AppiumOptions() options.load_capabilities({platformName: Android,platformVersion: 10,deviceName: emulator - 5554,app: /path/to/your/app.apk,appPackage: com.example.app,appActivity: .MainActivity })driver  webdriver.Remote(http://localhost:4723, optionsoptions) 连接服务器在代码中通过webdriver.Remote方法连接到 Appium 服务器并传递服务器地址和配置选项。这里的服务器地址是http://localhost:4723这是 Appium 服务器的默认地址。如果服务器运行在其他地址或端口上需要相应地修改地址。导入模块使用 Python 的appium库来初始化 Appium Driver并连接到 Appium 服务器。以下是一个示例代码定位元素 常见定位方式Appium 支持多种元素定位方式如通过 ID、Name、XPath、Class Name 等。以下是一些常用的定位方式示例ID 定位element driver.find_element(byAppiumBy.ID, valueID)通过指定元素的 ID 来定位元素。Name 和 Accessibility ID 定位element driver.find_element(byAppiumBy.ACCESSIBILITY_ID, valueACCESSIBILITY_ID)通过元素的 Accessibility ID 来定位元素element driver.find_element(byAppiumBy.NAME, valueNAME)通过元素的 Name 来定位元素。XPath 定位element driver.find_element(byAppiumBy.XPATH, value//*[textxpath])使用 XPath 表达式来定位元素。Class Name 定位element driver.find_element_by_css_selector(button[classbtn - class])使用 CSS 选择器语法通过元素的类名来定位元素。其他定位方式除了上述常见的定位方式外Appium 还支持通过图片定位、iOS 谓词定位、Android UIAutomator 定位等高级定位方式。例如通过图片定位可以使用element driver.find_element(byAppiumBy.IMAGE, valuebase64_image)其中base64_image是将图像文件转换为 base64 编码的字符串。多种定位方式模拟用户操作 文本内容text element.text用于获取元素的文本内容。位置信息location element.location用于获取元素的位置返回一个字典包含元素的 x 和 y 坐标。大小信息size element.size用于获取元素的大小返回一个字典包含元素的宽度和高度。属性值attribute element.get_attribute(attribute_name)用于获取元素的指定属性值其中attribute_name是要获取的属性名称。其他信息还可以获取元素的 ID、父级元素、accessible_name 等信息具体可查看 Appium 的官方文档。点击操作element.click()用于模拟点击操作通过找到要点击的元素并调用click方法来实现点击。driver.tap([(400, 400)], 1000)用于按坐标点击其中(400, 400)是坐标点1000是点击时长。输入操作element.clear()用于清空输入框的内容element.send_keys(Hello World)用于向输入框中输入文本。基本操作获取元素信息可以通过以下方法获取元素的各种信息滑动页面 Appium 2.0 前在 Appium 2.0 之前使用TouchAction类来进行滑动操作例如Appium 2.0 后在 Appium 2.0 以后TouchAction类已被弃用推荐使用ActionChains类来进行滑动操作例如滑动方式变化 action TouchAction(driver)action.press(x100, y150).move_to(x100, y500).release().perform()element  driver.find_element(byAppiumBy.ID, valueID)actions ActionChains(driver) actions.move_to_element(element) actions.click(hidden_submenu) actions.perform()等待元素加载 固定等待使用time.sleep(10)来进行固定等待即等待 10 秒。这种方式简单直接但不够灵活可能会导致测试时间过长或过短。显示等待使用WebDriverWait类和expected_conditions模块来实现显示等待。以下是一个示例隐式等待使用driver.implicitly_wait(10)来设置隐式等待时间为 10 秒。在隐式等待期间每次查找元素时如果元素未找到都会等待一段时间直到超时。等待方式在上述代码中WebDriverWait类接受两个参数Driver 和超时时间。until方法用于等待条件满足这里使用EC.visibility_of_element_located来等待指定元素可见。from selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECwait WebDriverWait(driver, 10) element  wait.until(EC.visibility_of_element_located((id, your_element_id)))获取手机截图和网络状态 获取网络状态network_connection driver.network_connection用于获取当前的网络连接状态返回一个整数值表示不同的网络连接类型。设置网络状态driver.set_network_connection(1)用于设置网络连接为 WiFi 连接其中 1 表示 WiFi 连接其他值可能表示不同的网络连接类型具体可查看 Appium 的文档。多种方式Appium 提供了多种方式来获取手机截图例如文件保存driver.get_screenshot_as_file(screenshot.png)将截图保存为文件。Base64 编码driver.get_screenshot_as_base64(screenshot.png)获取截图的 Base64 编码。其他方式还有driver.get_screenshot_as_png(screenshot.png)、driver.fullscreen_window(screenshot.png)等方式可根据具体需求选择使用。获取手机截图获取网络状态模拟键盘操作和手机通知栏操作 模拟键盘操作使用driver.press_keycode()方法来模拟按下手机物理键例如driver.press_keycode(4)可能表示按下返回键。手机通知栏操作使用driver.open_notifications()方法来打开手机通知栏。 三示例代码 以下是一个完整的 Python 示例代码用于启动一个 Android 模拟器并进行基本的自动化测试 ‍ from appium import webdriverfrom appium.options.common.base import AppiumOptions from appium.webdriver.common.appiumby import AppiumBy import time# 设置options options AppiumOptions() options.load_capabilities({platformName: Android,platformVersion: 10,deviceName: emulator - 5554,app: /path/to/your/app.apk,appPackage: com.example.app,appActivity: .MainActivity,resetKeyboard: True, # 重置设备的输入键盘unicodeKeyboard: True # 采用unicode编码输入 })# 初始化Appium Driver driver webdriver.Remote(http://localhost:4723, optionsoptions)try:# 等待应用加载time.sleep(5)# 通过ID定位元素并点击element driver.find_element(byAppiumBy.ID, valueyour_element_id)element.click()# 通过XPath定位元素并输入文本input_element driver.find_element(byAppiumBy.XPATH, value//*[textxpath])input_element.clear()input_element.send_keys(Hello World)# 获取元素的文本内容并打印text input_element.textprint(f输入框元素的文本信息是: {text})finally:# 关闭驱动driver.quit() 在上述示例中首先设置了 Appium 的配置选项包括平台信息、设备信息、应用信息等。然后初始化了 Appium Driver并连接到 Appium 服务器。接下来通过等待、定位元素、模拟操作等步骤实现了对应用的基本自动化测试。最后在测试完成后关闭了 Appium Driver释放资源。
http://www.laogonggong.com/news/122817.html

相关文章:

  • 河北高端网站制作吸引客人的产品宣传句子
  • 互力互通网站建设家居企业网站建设方案
  • 山东省城建设计院网站聚名网登录
  • 建设音乐主题网站网页制作步骤流程
  • 网站维护有啥用代码生成器app下载
  • 网站推广有必要吗承德市住房和城乡建设局官网
  • 北京网站优化流程成都广告公司网站建设
  • 阿土伯 是做网站的吗上海最新情况
  • 网站的类型是什么意思一个好的网站应该具有什么条件
  • 深圳网站建设高端做房间预定网站需要什么软件
  • 男女做那事是什 网站如何提升进入网站的速度
  • 专门做推广的网站吗做影视网站不备案
  • 网站色彩学宣威网站建设公司
  • 网站不更新flash素材网站
  • 做网站费用会计科目美食网站设计欣赏
  • 做网站的目标是什么网站制作花多少钱
  • 免费网站制作案例布吉网站建设找哪家公司好
  • 余杭门户网站邮件营销 wordpress
  • 网站搭建免费视频教程wordpress上传小视频教程
  • 中国建筑设计作品网站wordpress检测不到更新
  • 自己做的网站怎么爬数据库东莞建站网站建设产品推广
  • 域名注册完成后怎么做网站软件项目管理制度
  • 利于优化的网站模板网站开发毕业设计题目
  • 网站访问代理在线永久免费自动建站
  • 网站源码怎么预览微信如何建设网站
  • 网站开发及运营代理协议范本苏州知名网站建设设计
  • 网站建设 APP帝国cms手机网站制作
  • 网站维护管理wordpress极验验证注册
  • 中山cp网站建设高仿奢侈手表网站
  • 法律行业做的比较好的平台网站网络销售技巧和话术