尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

selenium实战记录-从登陆-首页-进入应用页面测试用例

selenium实战记录-从登陆-首页-进入应用页面测试用例 项目结构样式projectName #项目名称├── base #封装PO基类├── page #封装PO页面对象├── scripts #定义测试用例脚本├── data #存放测试数据├── report #存放生成的测试报告├── log #存放日志文件├── img #存放截图├── config.py#定义项目的配置信息├── utils.py #定义工具类├──pytest.ini #pytest配置文件├── utils.py #定义工具类└──conftest.py #不用写任何代码放在项目的根目录所有测试文件都能读取它自动化测试用例编写遵循原则核心业务重复执行的业务;正向用例尽量减少用例脚本之间的依赖不是所有用例都需要自动化page类1、一个也没一个page文件如图2、登陆后home页面封装代码#后台home页面fromselenium.webdriver.common.byimportByfrombase.baseimportBasePagefrombase.baseimportBaseHandle#定义对象库层classHomePage(BasePage):def__init__(self):super().__init__()#继承基类的初始化方法自带驱动self.usernameBy.XPATH,//*[classuser-name]/spanself.digitalBy.XPATH,//*[srchttps://yxf-bucket-01.oss-cn-beijing.aliyuncs.com/ApplicationIcons/1641972601070.png]#获取元素定位使用基础类中方法代码更简洁deffind_username(self):returnself.get_element(self.username)deffind_digital(self):returnself.get_element(self.digital)#定义操作层classHomeHandle(BaseHandle):def__init__(self):self.home_pageHomePage()#获取登陆者姓名通过text获取defget_username(self):returnself.home_page.find_username().text#点击进入客户管理defclick_digital(self):self.home_page.find_digital().click()#定义业务层classHomeProxy:#实例化操作层类def__init__(self):self.home_handleHomeHandle()#获取用户姓名需要返回用户名字所以使用returndefget_username_msg(self):returnself.home_handle.get_username()#点击登陆跳转到home页面defgo_digital_page(self):self.home_handle.click_digital()测试脚本1、测试用例先登陆-进入首页-点击客户管理应用2、代码如下importpytestfrompage.page_homeimportHomeProxyfrompage.page_loginimportLoginProxyfrompage.page_digitalimportDigitalProxyimportloggingfromutilsimportUtilsDriver,get_msg#定义测试类classTestLogin:#初始化。类级别的defsetup_class(self):#实例化self.login_proxyLoginProxy()self.home_proxyHomeProxy()self.dig_proxyDigitalProxy()#结束销毁类级别统一销毁defteardown_class(self):UtilsDriver.quit_driver()#调用工具类中的关闭webdriver对象#successdeftest01_login(self):# 调用登陆业务进入首页参数有账号密码self.login_proxy.go_home_page(ydhl,ganfeimei,ydhl123456)usernameself.home_proxy.get_username_msg()#获取登陆者姓名#断言通过登陆后页面获取用户名来断言assert甘飞梅原点演示username logging.info(登陆者姓名{}.format(username))deftest02_home(self):#点击客户管理应用进入self.home_proxy.go_digital_page()dignameself.dig_proxy.get_digname_msg()#同上通过进入应用后获取应用名来断言assert营销服务平台digname logging.info(应用名称{}.format(digname))测试结果1、html格式测试报告。
返回列表