本文将介绍一套比较完整的appium自动化框架,以python为编写脚本语言,是因为python有强大的库,同时易学易懂。
最终的测试框架代码,将在jenkins项目中一键构建,执行自动化测试用例,并输出展现形式丰富的测试报告。
appium及python的环境,自行安装和配置,本人使用pycharam进行自动化开发。
一、安装nose及依赖库
- pip install nose
- pip install nose-allure-plugin
- pip install nose-html-reporting
- pip install nose-ittr
- pip install nosehtmlouput-2
二、安装allure及依赖库
- pip install allure-behave
- pip install allure-python-commons
三、编写测试用例
import unittest import nose from nose.tools import * import logging from page.common.tab_bar_page import TabBarPage from page.video.video_tab_bar_page import VideoTabBarPage from common.common_operate import * class TestVideoTabBar(unittest.TestCase): log = logging.getLogger(__name__) @classmethod def setUpClass(cls): cls.tab_bar = TabBarPage() cls.tab_bar.click_vedio_tab_bar() cls.video_tab_bar = VideoTabBarPage() def setUp(cls): pass # 点击视频文章标题 @nose.allure.feature('视频Tab') @nose.allure.story('点击标题-查看视频文章') def test_01_click_video_title(self): try: self.video_tab_bar.click_video_title(0) assert_true(is_visibility(self.video_tab_bar.video_article_comments_btn_loc)) except TimeoutException as e: take_screenShot(u"点击标题-查看视频文章'") logging.error(e) assert_false(True) # 点击视频预览图 @nose.allure.feature('视频Tab') @nose.allure.story('点击视频预览图-查看视频文章') def test_02_video_preview(self): try: self.video_tab_bar.click_video_preview(0) assert_true(is_visibility(self.video_tab_bar.video_article_list_comments_btn_loc)) except TimeoutException as e: take_screenShot(u"点击视频预览图-查看视频文章'") logging.error(e) assert_false(True) def tearDown(cls): get_press_keycode(4) @classmethod def tearDownClass(cls): time.sleep(3) get_press_keycode(4)
这里先贴一下测试用例脚本,后面会介绍自动化项目代码、设计、运行原理等。