zoukankan      html  css  js  c++  java
  • NO.3 appium-退出/启动

    这应该是迈开腿的第三章内容,大致收集了一下关于app退出和启动的API,在开始之前,我们先确认一下一般情况下我们退出app的几种情况是啥样子。

    我用来举例子的app,会记住上次登录成功的账号,每次打开app账号栏里都默认是‘tt’,像这样:

    第一种情况:点击两次‘返回键’退出app

    我先将帐户名改成‘123’:

     

     

    点击两次‘返回键’,再次启动app:

     

     

    用返回键退出,重新打开后,还是默认的‘tt’。

     

    第二种情况:点击‘HOME’键,至于后台

     

    我先将帐户名改成‘123’:

     

     

     

     

     

    点击‘HOME’键至于后台,在启动app:

    用‘HOME’键至于后台,帐户名还是‘123’

     

    前话唠完,好嘞~菜来喽!!!

     

     

    1.quit(self)

    Quits the driver and closes every associated window.

    :Usage:
        driver.quit()

    API的大概意思:退出驱动程序并关闭相关窗口

    我们来试一下账号更改为‘123’,然后使用quit()是啥效果。

     

    执行代码

     

    driver.find_element_by_id("账号框").set_text('123')
    driver.quit()
    执行结果:app确实被退出,返回到了手机桌面,我们启动一下看看

    退出后,重新打开app显示的账号是‘123’,难道quit类似‘HOME’?

     

     

    2.close_app(self)

    Stop the running application, specified in the desired capabilities, on the device.

    API的大概意思是:停止运行的应用程序,这个就不可爱了,都不给个例子。

     


    执行代码

    driver.find_element_by_id("账号框").set_text('123')
    driver.close_app()
    执行结果:app又确实退出了,回到了手机桌面,我们启动一下app看看结果。

    账号是默认的‘tt’,看来'close_app()'退出的比较彻底。

    3.launch_app(self)

    Start on the device the application specified in the desired capabilities.

    API的大概意思:启动app

    乍一看挺合理,有关闭有启动,测试的时候偶尔也需要这样的操纵,我们挨个试试。

     

    首先是quit(),然后启动

    执行代码

    driver.find_element_by_id("账号框").set_text('123')
    driver.quit()
    driver.launch_app()
    执行结果:selenium.common.exceptions.WebDriverException: Message: 

    一脸懵逼了,报错了,还没给具体的错误信息,这是什么鬼?先放放,试试别的。


    接下来是close_app(),然后启动

    执行代码

    driver.find_element_by_id("账号框").set_text('123')
    driver.close_app()
    driver.launch_app()
    执行结果:一切事正常,再次启动了app

    类似点击两次‘返回键’,然后重新打开。

     

    额~再次看了一下API想来大概是这样的,‘quit()退出驱动并关闭页面’,执行quit()的时候appium驱动被退出,关闭的是appium,而app显示的页面被关闭(这个关闭是不在前台显示而已,没有真的关闭,重新启动app的时候可以看见,账号框输入的123还在),这相当于本次driver的生命周期结束。

    ‘close_app()是关闭应用’,只是一个普通的操作,app被关闭之后appium还在干活,所以我们可以用launch_app()再次唤起,此时driver得生命周期并没结束,我们唤起app后仍然可以继续执行其它操作。

    quit()真正关闭的是appium。

    close_app()关闭的只是app而已。

     

    4.background_app(self, seconds)

    Puts the application in the background on the device for a certain duration.

    :Args:
     - seconds - the duration for the application to remain in the background

    这个API的大概意思:将app至于后台XX秒

    有了它,就可以不用先close_app(),再launch_app()去唤起app了,一个API就搞定。

     


    执行代码

    driver.find_element_by_id("账号框").set_text('123')
    driver.background_app(3)
    执行结果:跟close_app()/launch _app(),一样的效果。

    3秒后启动,默认的账号还是‘tt’,可见这个置于后台并不是类似‘HOME’的操作,而是类似关闭app再启动

     

    菜齐了!
  • 相关阅读:
    java实现算年龄
    java实现手机尾号评分
    java实现手机尾号评分
    java实现手机尾号评分
    java实现手机尾号评分
    java实现手机尾号评分
    java实现三角螺旋阵
    Delphi ActiveForm发布全攻略
    序列化FastReport,重要提示少走弯路 good
    深入探索ScrollWindow
  • 原文地址:https://www.cnblogs.com/dianxiao2/p/5531890.html
Copyright © 2011-2022 走看看