appium 学习笔记(四)

继续完善脚本:

运行自动登录脚本发现会弹出权限弹框,因此需要添加一个点击动作

通过xpath定位到该元素:

self.driver.find_element_by_xpath("//android.widget.Button[contains(@text,'允许')]")

为了避免可能有些机型不会弹框,这里写一个try来做点击事件

try:  #自动点击app授权弹框
    button = self.driver.find_element_by_xpath("//android.widget.Button[contains(@text,'允许')]")
    button.click()
except:
    print("自动点击应用app授权出错!")



完成登录动作后,需要验证是否登录成功,用unittest的断言assert进行验证

这里可以通过捕捉登录后的title进行验证,代码如下:

title = self.driver.find_element_by_id("com.happy.food:id/title").text
self.assertIn(title,"开心粮票")

一个简单的自动化脚本基本完成,下面是完整的代码:

from appium  import webdriver
from time import sleep
import adbbase
import unittest


class happyfoodTest(unittest.TestCase): #自动化框架,继承unittest.TestCase
    """Test com.happy.food"""

    def setUp(self): #准备测试环境,每个用例前执行
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        desired_caps['paltformVersion'] = adbbase.platformVersion()
        desired_caps['deviceName'] = adbbase.platformName()
        desired_caps['appPackage'] = adbbase.appPackage()
        desired_caps['appActivity'] = adbbase.appActivity()

        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

        sleep(5)

    def test_login(self): #用例,以test开头;登录测试
        """Test login"""
        self.driver.find_element_by_id("phoneNumber").send_keys("13410066133")
        self.driver.find_element_by_id("passWord").send_keys("1234567a")
        self.driver.back()
        self.driver.find_element_by_id("login").click()
        sleep(1)
        try:  #自动点击app授权弹框
            button = self.driver.find_element_by_xpath("//android.widget.Button[contains(@text,'允许')]")
            button.click()
        except:
            print("自动点击应用app授权出错!")
        sleep(1)
        title = self.driver.find_element_by_id("com.happy.food:id/title").text
        self.assertIn(title,"开心粮票")

    def tearDown(self): #清理环境,用例执行完后执行
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()


阅读更多
文章标签: appium
上一篇appium 学习笔记(三)
下一篇appium 学习笔记(五)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭