一个有志于自动化测试的菜鸟

  • 建议多刷新几次,这样能让更多的有经验的网友看到

  • 不知道是否遇到过一下情况:

    使用 xcode 运行正常,然后在 console 获得
    192.168.59.112:8100 这个信息

    在浏览器中访问 http:192.168.59.112/status 时,一直在加载;

    已经安装了 imobiledevice,并且使用 iproxy 进行设置,这个问题依然存在。。。

  • 标注一下,便于查找

  • 确实不一样,我现在的疑问不在于怎么找到这个元素

    我是不明白为什么就在源码中展示为两行了
    对前端知道的太少了,遇到这中问题总是不能理解

  • 标注一下,以便于查找

  • 哥们,遇到过这种问题没?
    在 IE 中,脚本失败的时候,我会对页面进行截图保存操作

    public String takeScreenShot(WebDriver driver, String method){
          if (driver == null) {
              return null;
          }
          String imageName = NameUtil.getImageName(method);
          String path = getImagePath(imageName);
          File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
          try {
              FileUtils.copyFile(srcFile, new File(path));
              LogUtil.frameLog("Screen shot be taken: " + path);
          } catch (IOException e) {
              LogUtil.error("Screen shot error: " + path);
          }
          return imageName;
      }
    
    

    函数如上:

    现在我发现一个问题,只要有脚本失败,就会产生一个错误:

    [FRAME]  Delete Cookies and Quit
    java.lang.IllegalArgumentException: Last unit does not have enough valid bits
        at java.util.Base64$Decoder.decode0(Base64.java:734)
        at java.util.Base64$Decoder.decode(Base64.java:526)
        at java.util.Base64$Decoder.decode(Base64.java:549)
        at org.openqa.selenium.OutputType$2.convertFromBase64Png(OutputType.java:55)
        at org.openqa.selenium.OutputType$2.convertFromBase64Png(OutputType.java:53)
        at org.openqa.selenium.OutputType$3.convertFromBase64Png(OutputType.java:73)
        at org.openqa.selenium.OutputType$3.convertFromBase64Png(OutputType.java:71)
        at org.openqa.selenium.ie.InternetExplorerDriver.getScreenshotAs(InternetExplorerDriver.java:238)
        at com.eisoo.content.report.ScreenShot.takeScreenShot(ScreenShot.java:30)
    

    这个在 firefox 和 chrome 中也是没有遇到过。。。。

  • 原因已经找到了

    是因为我多次强行终止测试脚本的运行
    结果任务管理中可以看到有很多个 IEDriverServer 在运行
    应该是他们之间发生了串位

    我重启了电脑以后这个问题就不存在了

  • 目前稳定下来了

    运行还可以

    不过遇到了新的问题:
    在发布一个动态的时候,会打开一个新的窗口
    这种行为在 chrome,firefox 和 IE 中是一样的

    不过在 chrome 和 firefox 中是统一在一个大的 window 窗口中显示
    而在 IE 中是一个独立的窗口,当然显示的形式无所谓
    只是有一个致命的问题:
    在 IE 中,切换到新的窗口后,需要我重新登录
    即已经建立的 session 和获取的 cookies 都没了,我仅仅是使用 driver.close()
    函数关闭了老的窗口,据我所知,driver.quit() 函数才会真的关闭浏览器删除 cookies

    再说明一下我所有的脚本在 chrome 和 firefox 中都是正常运行的,包括切换窗口,关闭老的窗口等等
    唯有到了 IE,是的在脚本运行时,账号莫名其妙的被弹出了,我目前基本确定,就是切换窗口一起的
    虽然不是每次切换窗口都会出现

    可以参考一下我最新上传的图片
    其实我只是想吐槽一下 IE,真是一步一个坑啊

  • 早就听说过 grid,一直没有尝试

    谢谢,这次好好试一下。如果过程中存在什么问题

    还请多多指教!

  • 感觉等我做完这个项目以后就能出一个 selenium 和 appium 疑难杂症集锦啦

    哈哈哈哈

一个有志于自动化测试的菜鸟