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('//*[@class="android.widget.TextView" 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('//*[@class="android.widget.TextView" 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('//*[@class="android.widget.TextView" 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()
App自动化用例脚本
最新推荐文章于 2024-06-21 15:06:01 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)