作者:HikariFocus_695 | 来源:互联网 | 2023-09-23 18:44
今天开始的文章就开始涉及到具体的业务逻辑流程了我们要测试的一个用例步骤为1,打开百度2,搜索关键字selenium3,点击知道4,获取百度知道页第一条链接的href属性5,对比该属
今天开始的文章就开始涉及到具体的业务逻辑流程了
我们要测试的一个用例步骤为
1,打开 百度
2,搜索关键字selenium
3,点击 知道
4,获取百度知道页第一条链接的href属性
5,对比该属性和预期结果是否一样
页面类主要是封装在该页面或者该流程上的一些基本方法,以达到复用代码便于维护的目的
新建PageObjects包,新建文件baidu.py
from Base import *
# 需要继承BasePage类
class BaiDu(BasePage):
# 打开百度链接
def open_baidu(self):
self.get_url("http://www.baidu.com/")
# 在输入框中输入关键字
def type_baidu(self, keyword):
self.type("id=>kw", keyword)
# 点击“百度一下”按钮
def click_baidu_button(self):
self.click("id=>su")
# 点击“知道”按钮
def click_know(self):
self.click("linkText=>知道")
# 获取第一条搜索结果的href属性
def get_result_href(self):
return self.get_ele_attribute("xpath=>//dt[@class=‘dt mb-4 line‘]//a[1]", ‘href‘)
总结:
1.需要继承BasePage类才能调用基础类的方法
2.对每一个步骤进行封装,在后续如果其他页面需要时,可以直接调用,不需要再重新写
3.from Base import * 导入Base包里面的所有py文件,需要在Base包的__init__文件中写入相关导入,就不用再一条一条的导入了
from Base.Browser_engine import BrowserEngine
from Base.BasePage import BasePage