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的运行框架

 

posted on 2020-07-02 17:57  国元  阅读(3)  评论(0)    收藏  举报

导航