• 当我遇到 10 亿参数组合 at 2022年10月26日

    想问下,你们测试的时候,也会考虑这 10 亿左右的用例吗?

  • 添加成功后,怎么做断言?

    我们新增成功后,一般都会在第一条,这个时候,对比一下第一条数据与新增的内容是否相同。
    不知道你们系统是什么样的
    可以按照新增规则去找到新增的那条数据,然后去对比

    像这种表单页面,查询怎么做断言?

    具体是想怎样呢?
    是查询后,检查查询结果是否正确吗? 那这种情况得与接口一起测试了吧,单靠一个 ui 自动化应该是无法准确判断的吧。。。
    还是原来是空列表,查询后有数据,或者原来有数据,查询后无数据呢?

    我是每个页面封装了一个 page,还有业务操作逻辑,那我测试一个完整的流程的时候,是每个页面的方法完了就进行断言,还是整个业务流程结束了再断言?

    这个没有要求吧,看你自己了。你也可以一个步骤写一次断言,也可以整个用例类完成后写一个断言,也可以一个用例写完写一个断言。
    一般不都一个用例一个断言吗?

  • 同意 5 楼的说法,你平常使用你们系统的时候也是用着用着就要登陆吗? 还是你传入 token 的方式与实际不一致呢?

  • 嗯,对,是的,收到

  • 不是路径的问题,chromedriver 我是放在文件相同路径下,我也尝试了绝对路径,都不行的

  • 我已经忘记了我怎么装的了。。。

    homebrew 装了两个版本的 python

    使用不同的版本号指定

  • 那点击页面其他位置会关闭弹框吗?如果会的话,之前的步骤的不变,新增一个点击页面空白位置的步骤就好了

  • 不知道对不对哈
    第一个疑问
    查了一下,MobileBy 继承的是 selenium 里的 By,或者你可以直接使用 selenium 的方法,具体引入方式为

    from selenium.webdriver.common.by import By
    

    第二个疑问
    可以封装一个方法,常用的定位方法可以单独出来
    我们的项目常用的是 xpath

    def by(locator: str | tuple[str, str]):
        if isinstance(locator, str):
            return By.XPATH, locator
    
        if isinstance(locator, tuple):
            # 固定格式,如果是元组,则写成(方式,定位)=>('xpath','//*[@class="name"]')
    
            method = locator[0]
            selector = locator[1]
            if not isinstance(method, str):  # 判断格式, 第一位应该是方法, name, id等, str格式
                raise InvalidSelectorException('locator is (method, selector)')
            if method.upper() == 'ID':
                return By.ID, selector
            if method.upper() == 'NAME':
                return By.NAME, selector
            ...
    
  • 不只是今年,只要是找工作的时候,行情都不是很好

  • 放弃助人情节,尊重他人命运

    这句话说的真好!