栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

App自动化用例脚本

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

App自动化用例脚本

from appium import webdriver
from time import sleep
import unittest
from selenium.common.exceptions import NoSuchElementException
from App_auto.day03.Tools.mode_kaoyan_test import *
from time import strftime
from appium.webdriver.common.touch_action import TouchAction
import random
from App_auto.day03.Tools.random_register import Ra


class Case01(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
        self.driver.implicitly_wait(10)

    def tearDown(self) -> None:
        logout(self)
        sleep(4)
        self.driver.quit()

    # # 进入日历中推荐的第一篇文章
    def test_001(self):
        # 登录
        login(self)
        check_btn(self)
        driver = self.driver
        Expect = driver.find_elements_by_id('com.tal.kaoyan:id/date_recommend_info_title')[0].get_attribute('text')
        driver.find_elements_by_id('com.tal.kaoyan:id/date_recommend_info_title')[0].click()
        # 断言
        try:
            Actual = driver.find_element_by_id('com.tal.kaoyan:id/post_item_title_name').get_attribute('text')
            self.assertEqual(Expect, Actual)
        except AssertionError:
            print('不是第一篇文章')
        driver.find_element_by_id('com.tal.kaoyan:id/activity_threaddetail_leftbutton_image').click()

    # 点击论坛中的第一篇帖子
    def test_002(self):
        # 登录
        login(self)
        check_btn(self)
        driver = self.driver
        # 点击“论坛”
        driver.find_element_by_id('com.tal.kaoyan:id/mainactivity_button_forum').click()
        # 点击第一篇帖子
        text = driver.find_elements_by_id('com.tal.kaoyan:id/hot_thread_item_title')[0].get_attribute('text')
        driver.find_elements_by_id('com.tal.kaoyan:id/hot_thread_item_title')[0].click()
        # 断言
        try:
            Expect = text
            Actual = driver.find_element_by_id('com.tal.kaoyan:id/post_item_title_name').get_attribute('text')
            self.assertEqual(Expect, Actual)
            print('进入的是第一篇帖子')
        except AssertionError:
            print('不是进入第一篇帖子')

    # 点击进入日历界面最底下的推广
    def test_003(self):
        driver = self.driver
        # 登录
        login(self)
        check_btn(self)
        # 屏幕滑动
        move = TouchAction(driver).press(x=500, y=1600).move_to(x=0, y=-800).perform()
        move.release()
        # 点击推广
        driver.find_element_by_id('com.tal.kaoyan:id/date_recommend_info_contentimg').click()
        # 断言(判断是否进入推广界面)
        try:
            Exepct = '新人有礼'
            Actual = driver.find_element_by_id('com.tal.kaoyan:id/myapptitle_Title').get_attribute('text')
            self.assertEqual(Exepct, Actual)
            driver.get_screenshot_as_file('../Images/image_成功进入推广界面_{}.png'.format('%Y_%m_%d_%H_%M_%S'))
        except AssertionError:
            print('没有进入推广界面')
        driver.find_element_by_id('com.tal.kaoyan:id/myapptitle_leftbutton_image').click()

    #
    def test_004(self):
        driver = self.driver
        # 点击“添加任务”
        driver.find_element_by_id('com.tal.kaoyan:id/task_no_task').click()
        # 断言(判断是否进入添加任务界面)
        try:
            Expect = '添加任务'
            Actual = driver.find_element_by_id('com.tal.kaoyan:id/myapptitle_Title').text
            self.assertEqual(Expect, Actual)
            driver.get_screenshot_as_file('../Images/image_成功进入添加任务界面_{}.png'.format('%Y_%m_%d_%H_%M_%S'))
        except AssertionError:
            print('没有进入添加任务界面')
        driver.find_element_by_id('com.tal.kaoyan:id/myapptitle_leftbutton_image').click()

    # 添加今天的任务
    def test_005(self):
        # 登录
        login(self)
        check_btn(self)
        driver = self.driver
        # 点击“添加任务”
        driver.find_element_by_id('com.tal.kaoyan:id/task_no_task').click()
        # 设置起始时间
        driver.find_element_by_id('com.tal.kaoyan:id/activity_date_addtask_timestart_layout').click()
        action = TouchAction(driver).press(x=250, y=1650).move_to(x=0, y=-500).perform()
        action.release()
        driver.find_element_by_id('com.tal.kaoyan:id/activity_date_addtask_selectdate_commitbtn').click()
        # 设置终止时间
        driver.find_element_by_id('com.tal.kaoyan:id/activity_date_addtask_timesend_layout').click()
        action2 = TouchAction(driver).press(x=250, y=1650).move_to(x=0, y=-700).perform()
        action2.release()
        driver.find_element_by_id('com.tal.kaoyan:id/activity_date_addtask_selectdate_commitbtn').click()
        # 输入标题
        driver.find_element_by_id('com.tal.kaoyan:id/activity_date_addtask_tasktitle').click()
        driver.find_element_by_id('com.tal.kaoyan:id/activity_date_addtask_tasktitle').send_keys('地狱训练2')
        # 确定添加
        driver.find_element_by_id('com.tal.kaoyan:id/myapptitle_RightButton_textview').click()
        # 断言(判断是否添加成功)
        try:
            Expect = '地狱训练'
            title_str = driver.find_elements_by_id('com.tal.kaoyan:id/home_task_title')
            for i in title_str:
                if i.text == "地狱训练":
                    Actual = i.text
                else:
                    Actual = '123'
            self.assertEqual(Expect, Actual)
            print('添加成功')
        except AssertionError:
            print('添加失败')

    # 登录
    def test_006(self):
        # 登录
        login(self)
        check_btn(self)
        driver = self.driver
        # 断言(是否登录成功)
        try:
            driver.find_element_by_id('com.tal.kaoyan:id/date_fix')
        except NoSuchElementException:
            print('登录失败')
            get_screenshot(self, "登录失败")

    # 在院校专业界面下滑后随机点击一篇文章
    def test_007(self):
        # 登录
        login(self)
        check_btn(self)
        # 点击“院校”
        driver = self.driver
        driver.find_element_by_id('com.tal.kaoyan:id/mainactivity_button_info').click()
        # 切换到专业
        driver.find_element_by_xpath('//*[@ and @index="1"]').click()
        sleep(2)
        # 下滑
        roll(self, 0, 0.7, 0, 0.2, 1000)
        sleep(1)
        # 随机点击一篇文章
        driver.find_elements_by_id('com.tal.kaoyan:id/news_item_layout_newstitle_textview')[3].click()
        # 断言
        try:
            a = driver.find_element_by_id('com.tal.kaoyan:id/myapptitle_leftbutton_image')
            get_screenshot(self, "文章点击成功")
        except NoSuchElementException:
            print('文章点击失败')
        finally:
            a.click()

    # 在院校专业界面下滑更新随机点击一篇文章
    def test_008(self):
        # 登录
        login(self)
        check_btn(self)
        # 点击“院校”
        driver = self.driver
        driver.find_element_by_id('com.tal.kaoyan:id/mainactivity_button_info').click()
        # 切换到专业
        driver.find_element_by_xpath('//*[@ and @index="1"]').click()
        sleep(2)
        # 下滑
        roll(self, 0.2, 0.7, 0.2, 0.2, 1000)
        sleep(1)
        roll(self, 0.2, 0.7, 0.2, 0.2, 1000)
        sleep(1)
        # 随机点击一篇文章
        driver.find_elements_by_id('com.tal.kaoyan:id/news_item_layout_newstitle_textview')[3].click()
        # 断言
        try:
            a = driver.find_element_by_id('com.tal.kaoyan:id/myapptitle_leftbutton_image')
            get_screenshot(self, "更新后文章点击成功")
        except NoSuchElementException:
            print('更新后文章点击失败')
        finally:
            a.click()

    # 注册
    def test_009(self):
        driver = self.driver
        # 取消更新
        driver.find_element_by_id('android:id/button2').click()
        # 跳过
        driver.find_element_by_id('com.tal.kaoyan:id/tv_skip').click()
        try:
            # 点击“注册”
            driver.find_element_by_id('com.tal.kaoyan:id/login_register_text').click()
            # 输入用户名
            ra = Ra()
            username = ra.r_username(10)
            driver.find_element_by_id('com.tal.kaoyan:id/activity_register_username_edittext').send_keys(username)
            # 输入密码
            password = ra.r_passwd(10)
            driver.find_element_by_id('com.tal.kaoyan:id/activity_register_password_edittext').send_keys(password)
            # 输入邮箱
            email = ra.r_email(9)
            driver.find_element_by_id('com.tal.kaoyan:id/activity_register_email_edittext').send_keys(email)
            # 立即注册
            driver.find_element_by_id('com.tal.kaoyan:id/activity_register_register_btn').click()
        except NoSuchElementException:
            driver.find_element_by_id('com.tal.kaoyan:id/login_scan_btn').click()
        # 选择院校
        driver.find_element_by_id('com.tal.kaoyan:id/perfectinfomation_edit_school_name').click()
        place = driver.find_elements_by_id('com.tal.kaoyan:id/more_forum_title')
        place[1].click()
        school = driver.find_elements_by_id('com.tal.kaoyan:id/university_search_item_name')
        school[5].click()
        # 选择专业
        driver.find_element_by_id('com.tal.kaoyan:id/activity_perfectinfomation_major').click()
        sub = driver.find_elements_by_id('com.tal.kaoyan:id/major_subject_title')
        sub[7].click()
        sub_list = driver.find_elements_by_id('com.tal.kaoyan:id/major_group_title')
        sub_list[13].click()
        sub_name = driver.find_elements_by_id('com.tal.kaoyan:id/major_search_item_name')
        sub_name[0].click()
        # 进入考研帮
        driver.find_element_by_id('com.tal.kaoyan:id/activity_perfectinfomation_goBtn').click()

    # 关注一名用户
    def test_010(self):
        # 登录
        login(self)
        check_btn(self)
        driver = self.driver
        # 点击“论坛”
        driver.find_element_by_id('com.tal.kaoyan:id/mainactivity_button_forum').click()
        # 点击“我的关注”
        driver.find_element_by_xpath('//*[@ and @index="1"]').click()
        # 选择一个推荐订阅关注
        driver.find_elements_by_id('com.tal.kaoyan:id/forum_block_view_follow')[3].click()
        Expect = driver.find_elements_by_id('com.tal.kaoyan:id/forum_block_view_name')[3].text
        sleep(2)
        # 断言(判断是否关注成功)
        try:
            str1 = driver.find_elements_by_id('com.tal.kaoyan:id/forum_block_view_name')
            Actual = '123'
            for i in str1:
                if i.text == Expect:
                    Actual = i.text
            self.assertEqual(Expect, Actual)
            get_screenshot(self, "关注推荐订阅成功")
        except AssertionError:
            print("关注失败")
            get_screenshot(self, "关注推荐订阅失败")

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/329601.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号