新建项目EasyUiAutotest,安装Appium-Python-Client

一、前置说明

Appium-Python-Client 是 Appium 的 Python 客户端库,它提供了一系列的类和方法,用于与 Appium 服务器进行通信,并执行各种移动应用测试操作,包括启动应用、模拟用户输入、点击等操作。

二、操作步骤

1. 启动Pycharm,新建项目 EasyUiAutotest

  • 项目名称可以自定义为有意义的任何命称;
  • 本项目命令为 EasyUiAutoTest 的意义是:说明本项目是一个易于使用的UI自动化测试项目,包括Web端测试和APP端测试。
  • 虽然本专栏是专门介绍 APP 的自动化测试,但是后期可以在此框架基础上扩展 Web 自动化测试。

创建新的项目:

给项目命名,并使用 conda 创建虚拟环境:

创建虚拟环境有很多好处:

  • 依赖隔离: 创建虚拟环境可以将项目的依赖项与全局 Python 环境隔离开来。每个项目都可以有自己独立的虚拟环境,避免了在不同项目中可能出现的依赖冲突。
  • 简化部署: 将项目的依赖项隔离在虚拟环境中可以简化部署流程。你可以轻松地在不同的系统上重建虚拟环境,而不必担心与其他项目的冲突。
  • 简化依赖管理: 使用虚拟环境可以更容易地管理项目的依赖。你可以记录项目所需的所有依赖项并导出为文件,其他人可以轻松地使用这个文件在虚拟环境中安装这些依赖。
  • 总体而言,创建虚拟环境是一种良好的编程实践,可以帮助你更好地管理项目的依赖关系,提高项目的可维护性,并确保项目在不同环境中的一致性和可重复性。

首次创建环境需要一点时间,等待即可:

虚拟环境创建成功后,可以查看项目的python环境:


2. 安装 Appium-Python-Client

在Pycharm中打开命令行工具,执行命令:

 pip install Appium-Python-Client -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
  • pip install Appium-Python-Client: 这是安装 Appium-Python-Client 包的基本命令。
  • -i http://pypi.douban.com/simple: 指定 pip 使用国内镜像豆瓣源进行包的下载,速度会更快。
  • –trusted-host pypi.douban.com: 指示 pip 信任指定主机,告诉 pip 该主机是可信任的。
  • 国内常用镜像源:
    • 清华:https://pypi.tuna.tsinghua.edu.cn/simple/
    • 阿里云:http://mirrors.aliyun.com/pypi/simple/
    • 中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
    • 华中科技大学:http://pypi.hustunique.com/simple/
    • 上海交通大学:https://mirror.sjtu.edu.cn/pypi/web/simple/
    • 豆瓣:http://pypi.douban.com/simple/

安装完成之后,可以使用 conda list 查看项目的所有依赖包:

由于 appium-python-client 包依赖于 selenium 包,所以在安装 appium-python-client 时,会一同安装 selenium 。selenium 是进行 web 自动化测试的第三方库,appium 遵循了 selenium 中的 WebDriver 协议。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Exynos4412 移植Linux-6.1(九)移植tiny4412_backlight驱动的过程及问题解决

系列文章目录 Exynos4412 移植Linux-6.1(一)下载、配置、编译Linux-6.1 Exynos4412 移植Linux-6.1(二)SD卡驱动——解决无法挂载SD卡的根文件系统 Exynos4412 移植Linux-6.1(三)SD卡驱动——解决mmc0: Ti…

写了这么多年DateUtils,殊不知你还有这么多弯弯绕!

目录 在日常开发中,Date工具类使用频率相对较高,大家通常都会这样写:这很简单啊,有什么争议吗?格式化后出现的时间错乱。看看Java 8是如何解决时区问题的:在处理带时区的国际化时间问题,推荐使用…

LSTM和GRU vs 循环神经网络RNN

1、考虑下列三种情况下,对比一下普通RNN的表现和LSTM和GRU表现: (1)早期观测值对预测未来观测者具有非常重要的意义。 考虑一个极端情况,其中第一个观测值包含一个校验和, 目标是在序列的末尾辨别校验和是…

第十四章 集合(List)

一、集合框架体系 集合: (1)可以动态保存任意多个对象。 (2)提供了一系列方便的操作对象的方法:add、remove、set、get等。 二、Collection 1. Collection 接口常用方法 (1)add&a…

BP网络识别26个英文字母matlab

wx供重浩:创享日记 对话框发送:字母识别 获取完整源码源工程文件 一、 设计思想 字符识别在现代日常生活的应用越来越广泛,比如车辆牌照自动识别系统,手写识别系统,办公自动化等等。本文采用BP网络对26个英文字母进行…

第 377 场周赛 解题报告 | 珂学家 | Floyd + 划分型DP

前言 整体评价 天崩局,压哨绝杀,感谢天,感谢地,T_T. 感觉被T2玩惨了,T3和T4很像,无非一个贪心,一个是划分型DP,但是都需要基于floyd预处理。 T1. 最小数字游戏 思路: …

接口测试 — 11.logging日志模块处理流程

1、概括理解 了解了四大组件的基本定义之后,我们通过图示的方式来理解下信息的传递过程: 也就是获取的日志信息,进入到Logger日志器中,传递给处理器确定要输出到哪里,然后进行过滤器筛选,通过后再按照定义…

【LeetCode】链表精选11题

目录 快慢指针: 1. 相交链表(简单) 2. 环形链表(简单) 3. 快乐数(简单) 4. 环形链表 II(中等) 5. 删除链表的倒数第 N 个节点(中等) 递归迭…

量化投资策略的评估标准及其计算公式

收益率指标:分为策略的总收益率和策略的年化收益率 策略的总收益率: 策略的总收益率是评价一个策略盈利能力的最基本的指标,其计算方法为: 公式中Vt表示策略最终的股票和现金的总价值,V0表示策略最初的股票和现金的总…

探秘JDK 13的黑科技:新特性一览

欢迎来到我的博客,代码的世界里,每一行都是一个故事 探秘JDK 13的黑科技:新特性一览 前言switch表达式扩展Switch表达式的基本概念:使用Switch表达式的优势:示例代码:注意事项和最佳实践: Text …

Spring Cloud + Vue前后端分离-第7章 核心业务功能开发

Spring Cloud Vue前后端分离-第7章 核心业务功能开发 7-1 课程管理功能开发 课程管理页面美化 1.课程管理页面美化 demo-course.jpg 复制search.html中的部分代码 course.vue 看效果 测试一下新增修改删除效果 1.课程管理页面美化2 scoped:style下的样式只应用于当前组件…

LCT(link cut tree) 详细图解与应用

樱雪喵用时 3days 做了 ybtoj 的 3 道例题,真是太有效率了!!1 为了避免自己没学明白就瞎写东西误人子弟,这篇 Blog 拖到了现在。 图片基本沿用 OIwiki,原文跳步骤(主要是 access 部分)的就自己…

Spark编程实验三:Spark SQL编程

目录 一、目的与要求 二、实验内容 三、实验步骤 1、Spark SQL基本操作 2、编程实现将RDD转换为DataFrame 3、编程实现利用DataFrame读写MySQL的数据 四、结果分析与实验体会 一、目的与要求 1、通过实验掌握Spark SQL的基本编程方法; 2、熟悉RDD到DataFram…

如何利用flume进行日志采集

介绍 Apache Flume 是一个分布式、可靠、高可用的日志收集、聚合和传输系统。它常用于将大量日志数据从不同的源(如Web服务器、应用程序、传感器等)收集到中心化的存储或数据处理系统中。 基本概念 Agent(代理): …

039、转置卷积

之——增大高宽 杂谈 通常来说,卷积不会增大输入的高宽,通常要么不变,要么减半;如果想要直接padding来增加高宽,在不断的卷积过程中,padding的0越来越多,最后要做像素级的判断时候,由…

分布式核心技术之分布式共识

文章目录 什么是分布式共识?分布式共识方法PoWPoSDPoS 三种分布式共识算法对比分析 选主过程就是一个分布式共识问题,因为每个节点在选出主节点之前都可以认为自己会成为主节点,也就是说集群节点“存异”;而通过选举的过程选出主节…

基于Java SSM框架实现医院挂号上班打卡系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现医院挂号上班打卡系统演示 摘要 在网络发展的时代,国家对人们的健康越来越重视,医院的医疗设备更加先进,医生的医术、服务水平也不断在提高,给用户带来了很大的选择余地,而且人们越来越追求更个…

【leetcode100-019】【矩阵】螺旋矩阵

【题干】 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 【思路】 不难注意到,每进行一次转向,都有一行/列被输出(并失效);既然已经失效,那我…

MyBatis-Plus中默认方法对应的SQL到底长啥样?

我希望成为:自媒体圈中技术最好、实战经验最丰富的达人,技术圈中最会分享的架构师。加油! 我的公众号:Hoeller 过段时间要给公司同事做Mybatis-Plus相关的培训,所以抓紧时间看看Mybatis-Plus的源码,顺便也分…

RT-Thread 内核对象管理框架

内核对象管理框架 RT-Thread采用内核对象管理系统来访问/管理所有内核对象,内核对象包含了内核中绝大部分设施,这些内核对象可以是静态分配的静态对象,也可以是从系统内存堆中分配的动态对象。 RT-Thread内核对象包括:线程&…