将setUp和tearDown方法封装在BaseTest脚本:
import unittest2
from appium.webdriver.webdriver import WebDriver
class BaseTest(unittest2.TestCase):
def setUp(self):
self.caps={}
self.caps['automationName']='UiAutomator2'
self.caps["newCommandTimeout"] = "5000"
self.caps['platformName'] = 'Android'
self.caps["platformVersion"] = "6.0"
self.caps["deviceName"]="192.168.75.103:5555"
self.caps["appPackage"]="com.youdao.note"
self.caps["appActivity"]=".activity2.SplashActivity"
self.driver=WebDriver('http://127.0.0.1:4723/wd/hub',self.caps)
self.driver.implicitly_wait(10)
def tearDown(self):
self.driver.quit()
配置文件addnote1.csv:
搜索测试脚本:
import ddt
from func1.csvreader import reader
from test_case1.BaseTest import BaseTest
from selenium.webdriver.support.wait import WebDriverWait
@ddt.ddt
class search_test(BaseTest):
table=reader(r"\addnote1.csv")
@ddt.data(*table)
def test_case(self,row):
self.driver.implicitly_wait(10)
aa = WebDriverWait(self.driver,15).until(lambda x: x.find_element_by_id("com.youdao.note:id/btn_ok"))
if aa:
# 点击同意按钮
self.driver.find_element_by_id("com.youdao.note:id/btn_ok").click()
# 点击取消按钮
self.driver.find_element_by_id("com.youdao.note:id/btn_cancel").click()
# 点击新增按钮
self.driver.find_element_by_id("com.youdao.note:id/add_note").click()
# 点击新建笔记
self.driver.find_element_by_id("com.youdao.note:id/add_icon").click()
# 点击“ALLOW"按钮
self.driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button").click()
# 输入内容
self.driver.find_element_by_xpath(
"//*[@resource-id='com.youdao.note:id/note_content']/android.widget.EditText").send_keys(row[1])
# 输入标题
self.driver.find_element_by_id("com.youdao.note:id/note_title").send_keys(row[0])
# 点击"完成"按钮
self.driver.find_element_by_id("com.youdao.note:id/actionbar_complete_text").click()
# 获取新增成功后的标题内容
result = self.driver.find_element_by_id("com.youdao.note:id/title").text
# 断言判断
self.assertEqual(row[0],result)
# 点击搜索按钮
self.driver.find_element_by_id('com.youdao.note:id/search').click()
# 输入搜索关键字
self.driver.find_element_by_id('com.youdao.note:id/search_edit_view').send_keys(row[0])
# 点击搜索按钮
self.driver.find_element_by_id('com.youdao.note:id/action_btn').click()
# 获取搜索后的标题内容
result=self.driver.find_element_by_id("com.youdao.note:id/title").text
# 断言判断
self.assertEqual(row[0],result)