0629-web自动化二

web 浏览器控制

操作 使用场景
get 打开浏览器 web自动化测试第一步
refresh 浏览器刷新 模拟浏览器刷新
back 浏览器回退 模拟退回步骤
maximize_window 最大化浏览器 模拟浏览器最大化
minnimize_window 最小化浏览器 模拟浏览器最小化

常见控件定位

  • ID:By.ID
  • classname:By.CLASS_NAME
  • linktext:By.LINK_TEXT
  • name:By.NAME

css表达式

标识符 描述
# 标签中 id 的属性值
. 标签中 class 的属性值
[属性名称=‘属性值’] 标签中所有的属性
> 表示父子关系
空格 表示后代关系

注意:如果 class 属性值中包含多个值,且中间有空格,需要把空格改为 ‘.’

css调试方式

开发者工具中:console

  • $(‘’)
  • $$(‘’)

常见控件交互

操作 方法
点击 click()
输入内容 send_keys(‘值’)
清空 clear()
# 点击输入框
ele = driver.find_element(By.ID, 'query')
ele.click()
# 输入关键字
ele.send_keys("华北科技学院")
# 清空输入框
ele.clear()

获取元素信息

  • 获取文本值:web控件.text
  • 获取属性值:web控件.get_attribute(“属性名称”)

强制等待与隐式等待

  • 强制等待:导入sleep包,使用sleep(时间)
  • 隐式等待:driver.implicitly_wait(3) 在三秒钟的时间内每 0.5

Allure 测试报告

下载地址:Index of /allure/
解压下载后在path中配置allure bin目录的完整路径
image

在pycharm中安装allure-pytest第三方库

  • 运行用例生成报告数据:
    pytest -vs 测试文件 --alluredir=./result
  • 生成在线报告:
    allure serve ./result
  • 生成静态资源文件:
    1. allure generate ./result ===> Report successfully generated to allure-report
    2. allure open ./allure-report

allure 用法

@allure.feature("模块名")
class TestTestsearch():
    def setup_method(self):
        self.driver = webdriver.Chrome()
        # 最大化窗口
        self.driver.maximize_window()
        # 添加隐式等待
        self.driver.implicitly_wait(3)

    def teardown_method(self):
        self.driver.quit()

    @allure.story("用例场景")
    @allure.title("用例标题")
    def test_testsearch(self):
        with allure.step("进入了搜狗搜索的页面"):
            self.driver.get("https://www.sogou.com/")
        self.driver.find_element(By.CSS_SELECTOR, ".sec-input-box").click()
        with allure.step("输入关键字"):
            self.driver.find_element(By.ID, "query").click()
            self.driver.find_element(By.ID, "query").send_keys("华北科技学院")
        with allure.step("点击搜索按钮"):
            self.driver.find_element(By.ID, "stb").click()
        time.sleep(5)
        assert self.driver.find_element(By.CSS_SELECTOR, ".vr-title > span").text == "华北科技学院"


allure 拓展–添加截图

用法:

allure.attach(self.driver.get_screenshot_as_png(), name="搜索结果图",
                          attachment_type=allure.attachment_type.PNG)

# 参数一:body=self.driver.get_screenshot_as_png()--->使用driver的生成截图方法得到一个图片
# 参数二:name="搜索结果图" --->  输入截图名称
# 参数三:attachment_type=allure.attachment_type.PNG ---> 设置图片后缀为PNG

git基础用法

git下载地址:Git - Downloads

配置步骤

配置用户名和密码
git config --global user.name "用户名"
git config --global user.email "邮箱地址"

查看配置信息
git config --global --list

生成密钥
ssh-keygen -t rsa -C "邮箱地址"

配置成功示例:

image

gitee 新建仓库步骤

image

输入仓库名称和路径

创建成功后,复制ssh地址

初始化 git

  • 在项目根目录下,执行:git init—>项目根目录下会生成一个 .git 文件夹

关联远程仓库

git → manage remotes 添加一个仓库的ssh地址(gitee)

gitee 添加公钥

用户目录下.ssh-> id_sra.pub 添加到gitee中(设置–>ssh设置)

上传代码

  1. 右键add文件到暂存区
  2. 切换到commit面板,填写一个提交信息,点击commit提交修改内容到本地仓库
  3. git–>push 远程仓库

开源仓库

管理->开源项目

检验是否开源成功

  • 打开一个无痕浏览器访问

在评论提交gitee仓库访问地址
练习要求:

  • 测试人论坛搜索功能,用高级搜索的页面,添加断言判断搜索成功
  • 添加allure测试报告
  • 在gitee上传代码文件和allure报告的截图

软件B201 李鼎堃: pytest: 软件测试生产实习代码库 - Gitee.com

软件B202 文晓媚:test01: 软件B202班文晓媚

软件b203袁九运
https://gitee.com/yuanjiuyun/my-pants.git

软件B201高悦:gy1: 软件B201-202007044102-高悦

软件B203刘英衡
https://github.com/aubadess/blog.git

软件B201林雨蕊:https://gitee.com/lin--yurui/12345.git

软件B201高伟天https://gitee.com/gao-weitian/hbkj_0629/tree/d63c603788b9f51f8a6034ac58102eb915e32702

软件B203班陈金龙
https://gitee.com/cywxs/software-testing2.git

软件b201邹阳

软件B201 张子乔
test_search.py · WILD/liuqi666 - 码云 - 开源中国 (gitee.com)

软件B201 李琪
liulanqi/test_search01.py · 夜神/测试 - 码云 - 开源中国 (gitee.com)

软件B203张泽臣
git@gitee.com:Boil_Donkey_1219988122/software-testing.git

软件B201赵日超

软件B201王超明

软件B203付天奥 MyCode: 软件B203 付天奥

6.29.Hsc.Homework: 帅baby~~~~~~ (gitee.com) 软件B201 韩尚辰

[6.29.Hsc.Homework: 帅baby~~~~~~ (gitee.com)](https://6.29.Hsc.Homework: 帅baby~~~~~~ (gitee.com))

软件B202 楼权
learn_test: 软件测试学习------ - Gitee.com

软件B202 王硕