运行一个星期前升至更久前的脚本,,,出现如下错误提示

elementNotVisibleException was unhandled by user code。

经过询问大侠,说我的脚本不够健全,也就是稳定性的问题,需要增加一些判断等待,那需要封装一些等待方法

  public static void WaitUnit<T>(this IWebDriver webDriver, Func<IWebDriver, T> func, int seconds = 20){var wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(seconds));wait.Until(func);}/// <summary>/// 强制让webdriver等待,直到给定的元素(by)存在于DOM之中/// </summary>public static void WaitElementExist(this IWebDriver webDriver, By by, int seconds = 20){var wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(seconds));wait.Until(ExpectedConditions.ElementExists(by));}/// <summary>/// 强制让webdriver等待,直到给定的元素(by)的CSS属性visiblity的值为visible/// </summary>public static void WaitElementVisible(this IWebDriver webDriver, By by, int seconds = 20){var wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(seconds));wait.Until(ExpectedConditions.ElementIsVisible(by));}/// <summary>/// 强制让webdriver等待,直到当前的浏览器title包含指定的字符串/// </summary>public static void WaitTitleContains(this IWebDriver webDriver, string title, int seconds = 20){var wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(seconds));wait.Until(ExpectedConditions.TitleContains(title));}/// <summary>/// 强制让webdriver等待,直到当前的浏览器title与给定读的title一致/// </summary>public static void WaitTitleIs(this IWebDriver webDriver, string title, int seconds = 20){var wait = new WebDriverWait(webDriver, TimeSpan.FromSeconds(seconds));wait.Until(ExpectedConditions.TitleIs(title));}/// <summary>/// Executes JavaScript in the context of the currently selected frame or window./// </summary>/// <param name="webDriver">IWebDriver实例</param>/// <param name="jsCode">js代码(最好的web里面先执行一次,确保正确性)</param>public static void ExecJavascript(this IWebDriver webDriver, string jsCode){((IJavaScriptExecutor)webDriver).ExecuteScript(jsCode);}

转载于:https://www.cnblogs.com/cloud-test/p/3449749.html

Selenium 脚本稳定性问题相关推荐

  1. 如何提高selenium脚本的执行速度

    Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间, 运行脚本的线程数等.所以不能单方面追求运行速度的,要确保稳定性,能稳定地 ...

  2. python selenium脚本_怎样开始写第一个基于python的selenium脚本

    1.下载并安装python(http://www.python.org/geti/). 2.安装selenium(http://pypi.python.org/pypi/selenium)下载并解压缩 ...

  3. 迁移selenium脚本迁移后出现unknown error: DevToolsActivePort file doesn‘t exis

    迁移selenium脚本到其他服务器执行时出现以下错误: File "/data/app/jenkins/workspace/check-page/.venv/lib/python3.7/s ...

  4. 运行selenium脚本,出现Can not connect to the Service chromedriver解决方法汇总!

    今天运行selenium脚本,出现Can not connect to the Service chromedriver 这个错误. 我大概百度一下,主要两种解决方法: 第一种.修改hosts里面的内 ...

  5. Selenium脚本编写技巧和窍门

    如果您刚刚开始学习硒,则以下技巧和窍门将成为您的救星. 这些技巧和窍门具有您可能会忘记的所有基本知识,将帮助您记住所有这些. 您只需浏览一下它们,几秒钟后您就会了解所有内容. 让我们一一看一下所有的技 ...

  6. selenium脚本录制

    写在前面: 自动化测试的核心不是写出一两个自动化测试脚本,自动化测试的核心是测试用例的组织和集成,也就是整个测试框架的构建. (补充于2019-06-27 但是我还没有把测试框架完整的搭建起来) 测试 ...

  7. 软件测试--selenium脚本编写注意点(一)

    在通过python+selenium编写ui自动化脚本的时候,我遇到过很多需要注意的点,今天分享给大家一下. 一.睡眠时间 1. 强制等待时间 sleep() 必须导入time包后才可以使用,强制等待 ...

  8. selenium脚本编写的注意点,那些我踩过的坑

    在通过python+selenium编写ui自动化脚本的时候,我遇到过很多需要注意的点,今天分享给大家一下. 一.睡眠时间 1. 强制等待时间 sleep() 必须导入time包后才可以使用,强制等待 ...

  9. 面试百问:如何提高自动化测试脚本稳定性

    相信执行过自动化测试的同学都知道,测试脚本的维护也是不可或缺的,并不是你脚本写完之后就结束,往往自动化脚本执行报错了,你首先考虑的问题是自己的脚本出现的问题还是发现了开发bug,如果报错大部分因为你的 ...

最新文章

  1. mysql 判断日期是否在某范围内_判断时间是否在某个区间内
  2. sql server 批量删除临时表
  3. vue 实现动态增加输入框_vue实现一个6个输入框的验证码输入组件
  4. Quartz快速入门
  5. rds 数据库营销报告_千人千面的营销数智化测试,你还没做?
  6. VTK:定向字形用法实战
  7. 我的SAP Hybris学习笔记
  8. ipad和iphone切图_如何从iPhone和iPad上的Mail应用程序删除电子邮件帐户
  9. 资料:vue 3.0+版本发布
  10. ASP.NET vNext 概述
  11. 2018-2-13-win10-uwp-如何让WebView标识win10手机
  12. Algorithms Lecture 1 -- Introduction to asymptotic notations【渐进表示法】​​
  13. 表格里加横线一分为二_我告诉你excel表格分割线一分为二
  14. vm内核参数之缓存回收drop_caches
  15. 成都Uber优步司机奖励政策(3月2日)
  16. 中考计算机上机考试如何操作,全国2021年初中信息技术中招考试上机考试提分技巧...
  17. P1129 矩阵游戏
  18. feapder爬虫框架使用
  19. 任天堂服务器维护11.2,switch11.0.0版本更新内容汇总 NS11.0.0更新维护公告
  20. 考研计算机专业课时长,计算机考研复习经验

热门文章

  1. html title 不显示_SEO入门教程二:学习最基础的html代码知识
  2. ggplot2作图详解:图层语法和图形组合
  3. 全屏 虚拟机_不用虚拟机直接在线用的 Linux,统统都在这里!
  4. voronoi图编程构造_可视化编程真的有那么糟糕?
  5. html页面的ajax请求,【提问】ajax请求返回整个html页面
  6. asppython份额_为什么JAVA份额那么高,存在感却不如Python?
  7. python字典forward_《Python机器学习基础教程》
  8. 蓝牙学习笔记(十)——BLE透传传输延迟分析
  9. 数组中相同元素 java_如何在一维数组中查找某重复元素,并输出其位置?用java实现...
  10. Hive date_format函数入门