• Appium 开源分享优化版 at 2018年05月16日

    ios我只是简单调试过,后面一直没有去怎么适配和测试

  • Appium 开源分享优化版 at 2018年05月16日
    testinfo:
        - id: test003
          title: 热门话题
          info: 打开testerhome
    testcase:
        - element_info: dropdown-avatar
          find_type: class_name
          operate_type: click
          info: 点击图像
        - element_info: //ul[@class='dropdown-menu']/li/a
          find_type: xpath
          operate_type: click
          info: 点击用户名
        - element_info: //ul[@class="list-group"]/li[1]/div/a[2]
          find_type: xpath
          operate_type: get_text
          info: 获取热门话题下的第一条标题
        - element_info: ul.list-group > li:nth-child(1) > div.title > a:nth-child(2)
          find_type: css
          operate_type: click
          info: 点击热门话题下的第一条标题
    
    check:
        - element_info: /html/head/title
          find_type: xpath
          operate_type: get_text
          check: compare
          info: 详情页的标题和历史标题相等
    

    testcase里面的一个 operate_type: get_text取第一个值,check下的 operate_type: get_text取第二个值,两个值进行对比

  • ride好像还不支持,具体看看官网

  • 查找元素单独封装一个函数,找到后才能执行操作,可以参考下我封装的

    def findElement(self, operate):
        '''
        查找元素.operate,dict|list
        operate_type:对应的操作
        element_info:元素详情
        find_type: find类型
        '''
        try:
            t = operate["check_time"] if operate.get("check_time",
                                                     "0") != "0" else be.WAIT_TIME  # 如果自定义检测时间为空,就用默认的检测等待时间
            if type(operate) == list:  # 多检查点
                for item in operate:
                    t = item["check_time"] if item.get("check_time", "0") != "0" else be.WAIT_TIME
                    WebDriverWait(self.driver, t).until(lambda x: self.elements_by(item))
                return {"result": True}
            if type(operate) == dict:  # 单检查点
                if operate.get("element_info", "0") == "0":  # 如果没有页面元素,就不检测是页面元素,可能是滑动等操作
                    return {"result": True}
                WebDriverWait(self.driver, t).until(lambda x: self.elements_by(operate))  # 操作元素是否存在
                return {"result": True}
        except selenium.common.exceptions.TimeoutException:
            # print("==查找元素超时==")
            return {"result": False, "type": be.TIME_OUT}
        except selenium.common.exceptions.NoSuchElementException:
            # print("==查找元素不存在==")
            return {"result": False, "type": be.NO_SUCH}
        except selenium.common.exceptions.WebDriverException:
            # print("WebDriver出现问题了")
            return {"result": False, "type": be.WEB_DROVER_EXCEPTION}
    
  • Appium 开源分享优化版 at 2018年05月09日

    重新试试?有时候启动是慢点

  • Appium 开源分享优化版 at 2018年05月08日

    现在检查点已经封装到了yml文件的check下,可以重新看下

  • Appium 开源分享优化版 at 2018年05月08日

    已经在看这块了,BaseOperate中的operate_by中threading._start_new_thread(self.click_windows(device),())注释打开试试,我还没有进行详细的测试

    1. 你想研究就看看这个,https://testerhome.com/topics/6468

    2. 不知道你们是否接人了类似于第三方友盟这样的sdk,如果可以,你或许可以从这方面入睡,简单很多

    3. 我现在是不管闪退问题,闪退就是用例失败了 测试报告有截图的

  • 两个参数不一样

    • -d 5表示每5秒更新一次
    • - n 5 表示更新5次后退出top命令
  • soapui可以试试