多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Python和Appium实现滑动引导页进入APP-自动化测试

更新时间:2022-03-28 09:23:18 作者:多测师 浏览:261

  最近在研究安卓APP的自动化测试。首先遇到的问题是,当一个session建立的时候,最先进入的是欢迎页和引导页,引导页有三张,最后一张上显示“enter”按钮,点击才能进入主界面。

  欢迎页加引导页,这两个页面是每次进入APP都无法避免的,如何通过代码执行跳过它们进入主界面的操作呢?

Python和Appium实现滑动引导页进入APP-自动化测试

  1、建立session

  def test_enterApp(self): desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '4.4.4' desired_caps['app'] = '/Users/a140/Downloads/app.apk' desired_caps['deviceName'] = '03083025d0250909' self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) self.driver.implicitly_wait(5)

  2、运用代码模拟手指从右向左滑动的操作

  #获取屏幕宽度和高度 def getSize(self): x = self.driver.get_window_size()['width'] y = self.driver.get_window_size()['height'] return (x, y) #向左滑动 def swipeLeft(self): l = self.getSize() x1 = int(l[0] * 0.9) y1 = int(l[1] * 0.5) x2 = int(l[0] * 0.1) self.driver.swipe(x1, y1, x2, y1)

  因为手机屏幕的尺寸多样,所以这里不设置固定的宽度和高度的值,而是封装了一个获取屏幕宽高度的方法,通过它计算屏幕滑动的坐标和距离。

  3、调用swipeLeft()方法向左滑动,最后通过find_element_by_id()找到“enter”按钮,然后点击进入主界面

  #向左滑动跳过引导页

  x = 0

  while x < 3:

  self.swipeLeft()

  x += 1

  enterApp = self.driver.find_element_by_id("com.app.night:id/enter")

  enterApp.click()

  完整的代码如下所示:

  import unittest

  from appium import webdriver

  class HelloWorld(unittest.TestCase):

  def test_enterFilter(self):

  desired_caps = {}

  desired_caps['platformName'] = 'Android'

  desired_caps['platformVersion'] = '4.4.4'

  desired_caps['app'] = '/Users/a140/Downloads/app.apk'

  desired_caps['deviceName'] = '03083025d0250909'

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

  self.driver.implicitly_wait(5)

  #向左滑动跳过引导页

  x = 0

  while x < 3:

  self.swipeLeft()

  x += 1

  enterApp = self.driver.find_element_by_id("com.app.night:id/enter")

  enterApp.click()

  #获取屏幕宽度和高度

  def getSize(self):

  x = self.driver.get_window_size()['width']

  y = self.driver.get_window_size()['height']

  return (x, y)

  #向左滑动

  def swipeLeft(self):

  l = self.getSize()

  x1 = int(l[0] * 0.9)

  y1 = int(l[1] * 0.5)

  x2 = int(l[0] * 0.1)

  self.driver.swipe(x1, y1, x2, y1)

  if __name__ == '__main__':

  suite = unittest.TestLoader().loadTestsFromTestCase(HelloWorld)

  unittest.TextTestRunner(verbosity=2).run(suite)

  以上内容为大家介绍了自动化测试中的Python和Appium实现滑动引导页进入APP,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部