引言
Case页的理念:
通过调用Page页填充好的定位信息来具体实施用例,比传统的编写自动化用例更加简洁,减少了多余的代码,如果以后开发将定位元素进行修改,我们也可以回到Page中修改定位元素,这样代码又可以复用了
1、首先要在Case包下创建home_case.py文件,并创建Mytest类
2、准备好用那种方式做数据驱动(我比较喜欢CSV,因为简单),并设计好执行数据
准备好的三组数据–csv格式
import unittest
from appium import webdriver
from pages.home_login_page import loginPage
import common.my_function as FC
from ddt import ddt,unpack,data
onehome={
"platformName": "Android",
"platformVersion": "5.1.1",
"deviceName": "127.0.0.1:62001",
"appActivity": "me.onehome.app.activity.ActivitySplash_",
"appPackage": "me.onehome.app"
}
@ddt
class Mytest(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Remote("http://127.0.0.1:4723/wd/hub",onehome)
self.driver.implicitly_wait(20)
def tearDown(self):
self.driver.close_app()
# @classmethod
# def setUpClass(cls):
# pass
# @classmethod
# def tearDownClass(cls):
# pass
# def test_home_scroll_view(self):
# h=HomePage(self.driver)
# h.click_yindaoye_ad()
# h.click_close_ad()
# h.scroll_top_view()
# h.click_scroll_view()
# h.click_share()
# h.click_weixin()
@data(*FC.get_login_data('F:\\Xuexiziliao\\po模式\\data\\login_data.xlsx'))
@unpack
def test_login(self,user,pwd):
lo=loginPage(self.driver)
lo.click_yindaoye_ad()
lo.click_close_ad()
lo.click_wode()
lo.click_denglu()
lo.click_login_pwd()
lo.input_user(user)
lo.input_pwd(pwd)
lo.click_login()
if __name__ == '__main__':
unittest.main(verbosity=2)