封装Appium启动参数,提高自动化测试效率的关键

news2024/11/24 11:43:29

目录

 前言:

一、开发环境搭建

二、代码实现

1.导入Appium相关的库文件。

2.创建Appium的启动参数对象,并设置相关参数。

3.启动测试服务。

4.执行测试用例。

5.结束测试服务。

三、总结


 前言:

Appium是一款广泛使用的自动化测试工具,它支持多种程序语言和系统,而且扩展性强、易于使用、调试方便。在使用Appium进行测试时,通常需要指定启动参数,以保证测试的准确性和稳定性。本文将介绍如何封装Appium的启动参数,主要包括开发环境搭建和代码实现两部分。

一、开发环境搭建

在使用Appium之前,需要先搭建开发环境。具体步骤如下:

1.安装Java,并配置环境变量。

2.安装Android SDK,并配置环境变量。

3.安装Node.js,并配置环境变量。

4.使用npm工具或yarn工具,全局安装Appium。

二、代码实现

在搭建好开发环境后,就可以进行Appium的代码实现了。主要步骤包括:

1.导入Appium相关的库文件。

const wd = require('wd');
const wdio = require("webdriverio");

2.创建Appium的启动参数对象,并设置相关参数。

下面是一个示例代码:

var config = {
  //地址信息
  host: 'localhost',
  port: 4723,  
  //测试设备信息
  capabilities: {
    platformName: 'Android',
    platformVersion: '6.0.1',
    deviceName: 'LGE Nexus 5X',
    appPackage: 'com.android.calculator2',
    appActivity: 'com.android.calculator2.Calculator',
    automationName: 'Appium'
  },
  //测试超时时间
  waitforTimeout: 90000,
  connectionRetryTimeout: 90000,
  connectionRetryCount: 3,
  //使用Appium server远程测试
  services: ['appium'],
};

//建立连接
var driver = wdio.remote(config);

在上面的示例代码中,创建了一个名为“config”的启动参数对象,并设置了相关参数,如测试设备的名称、应用的包名和启动的Activity等信息。另外,还设置了连接超时时间、重试次数等参数,以保证测试的稳定性和准确性。

3.启动测试服务。

 driver.init(config);

在设置好启动参数后,就可以启动测试服务了。通过代码调用“init”方法即可启动服务。

4.执行测试用例。

driver.elementById("com.android.calculator2:id/digit_3").click();
driver.back();
var text = driver.elementById("com.android.calculator2:id/formula").text();
console.log(text);

在启动测试服务后,使用driver对象可以定位应用程序的元素,并执行相应的操作。上面的示例代码实现了在计算器上输入3,并检查是否成功输入3。

5.结束测试服务。

driver.quit();

在测试完成后,需要关闭Appium服务,释放资源。以上代码调用了“quit”方法取消了服务。

三、总结

本文主要介绍了如何封装Appium的启动参数,包括开发环境的搭建和代码实现两部分。在实际的测试应用过程中,还需要结合具体的业务需求和测试对象,对启动参数进行相应的调整和优化,以提高测试的效率和准确性。

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试的经验必须品,如果你用得到的话可以直接拿走,希望能对你带来帮助。(包括Python编程、WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、性能测试、安全测试、大厂面试真题、简历模板等等),相信能使你更好的进步!

获取方式:留言【自动化测试】即可获取
【自动化测试交流】:574737577(进群备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Dp4NVlFJbLm9cvGksiqeMjMqUah9R5dO&authKey=IUKh2O1tDD1pJQwar9eC6X%2BC9Fgmzyg%2FwoITLtMgqEkcmCHhr6lM8kL3o8dS6vSu&noverify=0&group_code=574737577

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/552895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Microsoft Office 2007的安装

哈喽,大家好。今天一起学习的是office2007的安装,有兴趣的小伙伴也可以来一起试试手。 一、测试演示参数 演示操作系统:Windows 7 不建议win10及以上操作系统使用 系统类型:64位 演示版本:cn_office_ultimate_2007_D…

从 SIEM 到下一代 SIEM 的演变

在此文中,我们详细介绍了下一代 SIEM 的演变。传统的 SIEM 主要用于提高网络可见性和网络安全性,同时支持合规性。它们跨应用程序、网络和系统摄取、收集和存储日志数据。 SIEM 使捕获和搜索数据变得更加容易,这些数据有助于组织进行审计、取…

详解RGB和XYZ色彩空间转换之下

前言 首先需要指明本文中描述的R,G,B并非通常的sRGB中的三个分量R,G,B,而是波长分别为700nm,546.1nm,435.8nm的单色红光,单色绿光,单色蓝光。sRGB中的RGB中的红色、绿色、蓝色已经不是单色光了。虽然习惯上大家都叫RGB…

Docker数据目录迁移方法

文章目录 前言一、停掉Docker服务?二、迁移docker数据到数据盘目三、备份原数据目录四、添加软链接五、重启docker服务六、确认服务没有问题后,删除备份的目录总结 前言 服务器上安装的docker服务,数据默认存储在/var/lib/docker目录&#x…

html5网页播放器视频切换、倍速切换、视频预览的代码实例

本文将对视频播放相关的功能进行说明,包括初始化播放器、播放器尺寸设置、视频切换、倍速切换、视频预览、自定义视频播放的开始/结束时间、禁止拖拽进度、播放器皮肤、控件按钮以及播放控制等。 图 / html5视频播放器调用效果(倍速切换) 初始…

网络知识点之-动态路由

动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整。 中文名:动态路由外文名:dynamic routing 简述 动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息…

usb摄像头驱动-core层USB集线器(Hub)驱动

usb摄像头驱动-core层USB集线器(Hub)驱动 文章目录 usb摄像头驱动-core层USB集线器(Hub)驱动usb_hub_inithub_probehub_eventport_eventhub_port_connect_changehub_port_connectusb_new_deviceannounce_device 在USB摄像头驱动中…

20.04Ubuntu换源:提升软件下载速度和更新效率

在使用Ubuntu操作系统时,一个常见的优化措施是更改软件源,以提高软件下载速度和更新效率。软件源是指存储软件包的服务器,通过更换软件源,你可以选择更靠近你所在地区的服务器,从而加快软件下载速度,并减少…

Android Compose Bloom 项目实战 (五) : 使用Navigation实现页面跳转

1. 前言 上几篇文章 我们分别实现了 Compose Bloom项目的各个页面,包括欢迎页、登录页和主页,但是各个页面都是单独独立的,并没有关联页面跳转,而本篇文章的任务就是实现各个页面见的跳转。 2. Navigation 要实现页面跳转&#…

Jetpack Compose动画实现原理详解

一、简介 Jetpack Compose是Google推出的用于构建原生界面的新Android 工具包,它可简化并加快 Android上的界面开发。Jetpack Compose是一个声明式的UI框架,随着该框架的推出,标志着Android 开始全面拥抱声明式UI开发。Jetpack Compose存在很…

【数据结构】红黑树封装map和set

文章目录 1.前置知识2.结构的改写与封装2.1 map和set的结构框架2.2 RBTreeNode结构的改写2.3 RBTree结构改写(仿函数的引入) 3. 迭代器3.1 RBTree的迭代器3.2 map和set的迭代器封装 4. 插入的改写和operatorp[]的重载4.1 insert的改写4.2 map::operator[…

【2023 · CANN训练营第一季】进阶班 应用开发深入讲解→DVPP

1 数据预处理概述 1.1 典型使用场景 受网络结构和训练方式等因素的影响,绝大多数神经网络模型对输入数据都有格式上的限制。在计算视觉领域,这个限制大多体现在图像的尺寸、色域、归一化参数等。如果源图或视频的尺寸、格式等与网络模型的要求不—致时…

pytest-编写插件

pytest 0 、文档1、钩子函数分类1.4 测试运行钩子 2、本地编写插件:conftest.py3、外部插件:setuptools4、实战 0 、文档 官方文档 中文文档 1、钩子函数分类 pytest中的钩子函数按功能一共分为6类:引导钩子,初始化钩子、用例收…

rtl仿真器-incisive安装和测试

需要的文件 安装文件 incisive : http://pan.baidu.com/s/1dFC9KZn 提取码 k3cb path: license: IScape: 安装的图形界面 IScape下载链接: https://pan.baidu.com/s/1FvpOto5fAIRjQARcbMbjZQ 密码: k1cb 目录结构 需要四个目录 安装目录:INCISIVE151 path 存放解密工具 l…

强化学习路线规划之深度强化学习

学到如今,我实在明白了一个至关重要的东西,那就是目标很重要,有了清晰的目标我们就知道该做什么,不至于迷茫,否则每天都在寻找道路。所以我一直在规划这样一条道路,让想学习的人可以抛下不知道该怎么做的顾…

在Notion AI 中轻松打造您的AI私人助理,提供卓越的工作体验(二)

大家好,我是瓜叔。 notion AI在工作和生活场景中的应用 我们先来看"总结"功能。 这边有一篇文章叫做学习编码的好处。导入到nation https://www.likecs.com/show-203992587.html 导入方法详见上一篇文章:在Notion AI 中轻松打造您的AI私人助理…

VMware快照:简化虚拟化环境管理与数据保护

引言: 在虚拟化环境中,数据保护和灵活性是至关重要的。VMware快照作为一项强大的功能,为虚拟机管理者提供了便利和安全性。本文将介绍VMware快照的使用,以及它为用户带来的几个关键优势。 VMware快照是一项重要的功能&#xff0c…

Threejs进阶之十五:在Thereejs 使用自定义shader

目录 最终效果什么是 ShaderShaderMaterial类常用属性uniforms属性vertexShader属性fragmentShader属性 代码实现新建ShaderView.vue文件并引入Threejs定义初始化函数创建initMesh函数实例化ShaderMaterial类实例化TextureLoader()定义uniforms 全局变量定义vertexShader顶点着…

ad18学习笔记二:绘图工具栏、活动栏

在画原理图库的时候会经常用到顶上的绘图工具栏(官方文档里叫做活动栏): 版本不同,上面的命令是不同的 ad如何自定义绘图工具栏? 网上介绍工具栏和设置的文章还挺多的,但是没有看到ad18是怎么增减绘图工具…

LeetCode高频算法刷题记录7

文章目录 1. 下一个排列【中等】1.1 题目描述1.2 解题思路1.3 代码实现 2. 两数相加【中等】2.1 题目描述2.2 解题思路2.3 代码实现 3. 括号生成【中等】3.1 题目描述3.2 解题思路3.3 代码实现 4. 滑动窗口最大值【困难】4.1 题目描述4.2 解题思路4.3 代码实现 5. 最小覆盖子串…