web自动化实战

完成实战内容,周一对内容进行考核

源码地址: school / nun / LitemallTest · GitLab

实战网址: litemall

实战目标:

  • 完成 litemall 项目的web自动化-商品页面的增删改查
  • 实现 allure 测试报告展示
  • 代码规范、注释清晰

以下二选一完成今天web自动化实战

  • 根据test_litemall.py完成后续代码
  • 根据test_litemall_po.py完成后续代码

商品查询用例代码

    def test_goods_search(self):
        # 进入商品列表页面,点击添加按钮
        goods_add_button = '//*[text()="添加"]'
        self.driver.find_element(By.XPATH, goods_add_button).click()
        time.sleep(sleep_sec)
        # 输入商品编号
        goods_number_input = '.el-input__inner'
        goods_number = int(self.nowtime + self.PREFIX_NUM)
        self.driver.find_element(By.CSS_SELECTOR, goods_number_input).send_keys(goods_number)
        # 输入商品名称
        goods_name_input = '//*[text()="商品名称"]/../div/div/input'
        goods_name = f"{self.PREFIX_NUM}_{str(self.nowtime)}_商品名称添加"
        self.driver.find_element(By.XPATH, goods_name_input).send_keys(goods_name)
        # 点击上架按钮
        putaway_button = '//*[text()="上架"]'
        self.driver.find_element(By.XPATH,putaway_button).click()
        # 输入商品名称进行查询
        goods_name_search_input = '//*[@placeholder="请输入商品名称"]'
        self.driver.find_element(By.XPATH,goods_name_search_input).send_keys(goods_name)
        # 点击查询
        goods_search_button = '//*[text()="查找"]'
        self.driver.find_element(By.XPATH,goods_search_button).click()
        time.sleep(sleep_sec)
        # 获取所有商品名称
        goods_name_col = '.is-center.el-table__cell'
        # 显示等待列表元素加载
        def wait(driver):
            # 编写显示等待的逻辑
            # 获取列表元素
            goods_name_ele_list = self.driver.find_elements(By.CSS_SELECTOR,goods_name_col)
            # 直到元素长度大于逾期值
            return len(goods_name_ele_list) > 20
        # 显式等待 使用自定义函数
        WebDriverWait(self.driver, 5).until(wait)
        goods_name_ele_list = self.driver.find_elements(By.CSS_SELECTOR,goods_name_col)
        goods_name_text_list = [ge.text for ge in goods_name_ele_list]
        assert goods_name in goods_name_text_list

ide快捷键使用:

- 复制粘贴: ctrl + c  ||  ctrl + c 
- 撤回: ctrl + z
- 当前搜索: ctrl + f
- 全局搜索: ctrl + shift + f
- 文件名搜索: ctrl + n
- 重构: shift + f6
- 查看文件代码结构: alt + 7
- 注释: ctrl + /
- 多行缩进: tab  || shift + tab
- 列编辑: alt + shift + 鼠标左键长按
- 显示建议 /代码提示: alt + enter 
- 智能代码补全: ctrl + alt + space
- 查看文件历史改动: show history
- 走读代码: ctrl+鼠标左键  || ctrl + alt + 方向键

- 断言
  - F8: 当前代码的下一步 
  - F7: 代码运行下一步,如果有方法会进去执行
  - alt+F8 打印变量、运行方法、修改变量
  - 条件断言