#test_addcart
import unittest
from selenium import webdriver
from common.get_driver import driver
from test_datas.login_data import login_url,login_success_data
from page_objects.login_page import LoginPage
from page_objects.addCart_page import AddCartPage
from test_datas.addcart_data import good
class TestAddCart(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.driver=driver()
# cls.driver=webdriver.Chrome()
# cls.driver.get(login_url)
# cls.driver.maximize_window()
# cls.driver.implicitly_wait(10)
# cls.loginpage=LoginPage(cls.driver)
# cls.loginpage.login(login_success_data['username'],login_success_data['password'],login_success_data['code'])
cls.addcartpage=AddCartPage(cls.driver)
def setUp(self) -> None:
pass
def tearDown(self) -> None:
pass
@classmethod
def tearDownClass(cls) -> None:
cls.driver.quit()
def test_addCart_success(self):
'''
加购成功
:return:
'''
self.addcartpage.search_goods(good)#先搜索
self.addcartpage.addgood_to_cart()#加购
expect='添加成功'
if expect==self.addcartpage.get_add_success_msg():
print('断言成功,用例执行成功')
else:
print('断言失败,用例执行失败')
if __name__ == '__main__':
unittest.main()
#test_login
import unittest
from time import sleep
from selenium import webdriver
from page_objects.login_page import LoginPage
from test_datas.login_data import login_url, login_success_data, login_fail_data
from ddt import ddt,data,unpack
from page_objects.userinfo_page import UserInfoPage
from common.get_driver import driver
@ddt#这个必须加
class TestLogin(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
# cls.driver = webdriver.Chrome()
# cls.driver.get(login_url)#url参数化
# cls.driver.maximize_window()
cls.driver=driver(isLogin=False)
cls.loginpage=LoginPage(cls.driver)#传入之前的driver作为该页面类的实例化参数
cls.userinfopage=UserInfoPage(cls.driver)
def setUp(self) -> None:
pass
def tearDown(self) -> None:
self.driver.refresh()
@classmethod
def tearDownClass(cls) -> None:
cls.driver.quit()
@data(login_success_data)
@unpack#拆字典
def test_login_s01(self,username,password,code,expect):
'''
正向测试用例
:param username:
:param password:
:param code:
:param expect:
:return:
'''
self.loginpage.login(username,password,code)
sleep(2)
result=self.userinfopage.get_login_success_msg()#获取登录成功的提示消息
if expect == result:
print('断言成功,用例执行成功')
else:
print('断言失败,用例执行失败')
@data(*login_fail_data)#拆列表
@unpack#拆字典
def test_login_f01(self,username,password,code,expect):
'''
反向测试用例
:param username:
:param password:
:param code:
:param expect:
:return:
'''
self.loginpage.login(username,password,code)
sleep(2)
# expect = '密码错误!'
result=self.loginpage.get_login_fail_msg()#调用获取登录失败的提示消息
if expect == result:
print('断言成功,用例执行成功')
else:
print('断言失败,用例执行失败')
# def test_login_f02(self):
# self.loginpage.login('13800138007','123456','1111')
# sleep(2)
# expect = '账号不存在!'
# result = self.driver.find_element_by_xpath("//div[@class='layui-layer-content layui-layer-padding']").text
# if expect == result:
# print('断言成功,用例执行成功')
# else:
# print('断言失败,用例执行失败')
if __name__ == '__main__':
unittest.main()
#test_userinfo
import unittest
from selenium import webdriver
from common.get_driver import driver
from test_datas.login_data import login_url,login_success_data#导入登录所需数据
from page_objects.userinfo_page import UserInfoPage#导入用户信息页面的类
from page_objects.login_page import LoginPage#登录页面类
from test_datas.userinfo_data import pic_path#图片路径
class TestUserInfo(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None:
cls.driver=driver()
# cls.driver=webdriver.Chrome()
# cls.driver.get(login_url)
# cls.driver.maximize_window()
# cls.driver.implicitly_wait(10)
# cls.loginpage=LoginPage(cls.driver)#登录页面类的实例化
# cls.loginpage.login(login_success_data['username'],login_success_data['password'],login_success_data['code'])#登录成功
cls.userinfopage=UserInfoPage(cls.driver)#用户信息页面类的实例化
def setUp(self) -> None:
pass
def tearDown(self) -> None:
self.driver.refresh()
@classmethod
def tearDownClass(cls) -> None:
cls.driver.quit()
def test_upload_pic(self):
self.userinfopage.upload_pic(pic_path)#调用用户信息页面的上传图片方法
expect='操作成功'
if expect==self.userinfopage.get_upload_success_msg():#获取上传头像成功的提示消息
print('断言成功,用例执行成功')
else:
print('断言失败,用例执行失败')
if __name__ == '__main__':
unittest.main()