Appium实战项目
写框架
现在的服务有变化所以需要启动服务
我们现在lib下创建一个tools.py,将我们的配置文件读出来,path.py是写环境变量的
path.py
下面通过代码启动服务,在lib下新建一个独立的文件控制这些服务,将启动服务,校验服务启动,启动driver写在一个文件
这个文件返回一个driver,这个driver就是后续操作手机的driver,这个独立文件名为appController.py
这个文件需要干三件事:
1.启动appium服务
1)subproccess跟os.system类似,os.system是基于线程做的,而这里我们是独立启动的,如果使用os.system,线程启动后,服务就dump掉了,所以不用,所以
用subproccess,基于进程的,不会因为进程运行完后,那个进程还在运行,互不影响
2)配置文件
1.1校验服务的方法 #但顺序是应该先启动appium服务,在启动driver,为了保证百分百服务启动成功,所以校验appium服务
1.2.杀掉上一次的服务
2.启动driver
所以一共需要四个方法
接下来一步步操作,我们先写addController.py文件
现在通过以上代码拿到了所有的配置信息
下面在appController.py需要将配置信息拆开
上面完成了配置初始化信息
下面封装方法,我们要用到的功能点,一共四个方法
先写start_server方法
下面要用到subprocess
下面要在path中加一下命令执行的日志路径和错误日志的路径
另外需要在lib下创建一个log目录,Directory目录
在将环境变量在AppController.py中导入一下
运行完后,会生成两个日志文件
为了验证服务是否起来,在终端输入命令:ps -ef|grep appium
那么代码中也需要校验一下,在test_server方法中写:
通过服务器的端口号过滤,先拿到port
在test_server方法中校验服务是否起来,根据port校验
现在调试一下,先保证服务是关着呢
在写kill_server方法
因为kill方法是在start之前,所以现在start_server方法前,并在start_server中调用一下kill方法
下面写start_driver,并运行一下
服务日志可以看server.log就能看的虚拟机的日志,用tail命令就行
下面写page,新建个page.py 文件
下面在写case,在test_case下新建文件test_qq.py
由于Page()里需要传个driver,需要从appController.py拿,那怎么拿,需要引用一个queue,队列,需要在appController.py中导入一个queue
队列里已经有driver了,当运行用例时,取driver这个值,在page.py中去队列中拿值,所以page.py的driver需要修改一下
下面运行在bin目录下创建一个main.py
记得先将CASEPATH和REPORTPATH写在path.py中
注意上面的self.name,从appController.py拿,这个appController.py怎么取name
以上就是一个case的运行框架