主要实现思路

在这里插入图片描述1、代码封装关键字操作
2、后续在excel中填写操作步骤,无需写代码
3、使用allure 体现测试报告
4、在将代码部署放到jenkins中自动部署、运行

关键字就是封装好的方法

    # 滚动到指定位置
    def scroll_to_location(self, locator_type, locator_value):

        element = self._find_element(locator_type, locator_value)
        # 使用元素的位置信息滚动
        self.driver.execute_script("window.scrollTo(0, arguments[0].offsetTop);", element)
        time.sleep(2)

元素定位方式有多种:

“id” “name”: “xpath”: “css”:
= “link_text”:
return By.LINK_TEXT, locator_value
else:
raise ValueError(f"不支持的定位方式: {locator_type}")

定位方法Python 写法 (By)描述示例
IDBy.ID通过元素的 id 属性定位(速度最快,首选)find_element(By.ID, "username")
NameBy.NAME通过元素的 name 属性定位find_element(By.NAME, "password")
Class NameBy.CLASS_NAME通过元素的 class 属性定位find_element(By.CLASS_NAME, "btn-submit")
Tag NameBy.TAG_NAME通过元素的标签名定位(如 input、div、a)find_element(By.TAG_NAME, "h1")
Link TextBy.LINK_TEXT精确定位超链接(<a>标签)的显示文本find_element(By.LINK_TEXT, "点击登录")
Partial Link TextBy.PARTIAL_LINK_TEXT通过超链接显示文本的部分内容定位find_element(By.PARTIAL_LINK_TEXT, "登录")
XPathBy.XPATH使用 XPath 语法定位(功能最强大,但速度稍慢)find_element(By.XPATH, "//input[@id='username']")
CSS SelectorBy.CSS_SELECTOR使用 CSS 选择器语法定位(速度快,语法简洁)find_element(By.CSS_SELECTOR, "#username")

比如要生成随机邮箱 ${get_random_email()} 。可以先在代码中自定义方法,在excel中引用函数名。在执行用例是自动调用get_random_email方法。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐