- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Selenium 的新手,使用 IDE 已经花了大约一周时间。到目前为止,一切都很好。然而,我们应用程序的其他一些部分涉及大量的拖放功能,我对此不太确定......这让我想到了我的问题......WebDriver 可以做什么类型的特定事情而 IDE 不能做?我阅读了 Selenium 的首页,并且知道 WebDriver 可以进行更“稳健”的测试,但我并不完全清楚在这种情况下稳健意味着什么?更长?更多功能?
我正在寻找的是哪些类型的特定测试可以使用 WebDriver 运行而不能在 IDE 中运行?它们中的任何一个都与拖放有关吗?这将告知我是否继续使用 IDE 或切换的决定。我认为最好从一开始就使用某些东西,而不是创建大量测试然后再切换。
提前致谢。
最佳答案
您可以使用所选语言的全部功能。例如,使用 IDE 时,您只能使用 IDE 的 API,但如果您明确选择使用 WebDriver,则可以将其与 C# 结合使用,并使用 C# 的全部功能(例如 LINQ)。
一些 IDE 命令不直接用 WebDriver 转换。
您可以将纯 WebDriver 测试集成到 CI(持续集成)服务器中。
它不仅限于 Firefox,而 IDE 是(因为 IDE 仅在 Firefox 中可用)。
您可以更轻松地改进和扩展 Selenium。例如使用扩展方法和继承。 (例如,扩展 Selenium,以便在找不到元素时截取页面的屏幕截图)
它会更健壮,因为 IDE 不会总是为您提供查找元素的最可靠方法。例如,如果您需要的元素嵌套在表格中,则 IDE 为您提供的 XPath 将直接推断为特定的表格行和单元格。
例如这样的事情:
//table[1]/tr[1]/td[2]/table[1]/tr[1]/td[3]/a[1]/b
不是世界上最可靠的 XPath。那些不了解 XPath 或自动化测试或 Selenium 如何工作的人会坚持这一点,然后浪费时间来弄清楚为什么这个 XPath 查询失败。其他人会更改它,只使用 XPath 作为基本查询。
IDE 通常适用于那些没有太多编程知识的人(例如一些测试人员),如果您希望您的开发人员和/或测试开发人员使用 Selenium,请直接使用 WebDriver。感觉更像是用成熟的语言编程,而不是脚本(毕竟 IDE 生成的脚本是纯 HTML 文件)。这个想法通常适用于那些没有太多编程知识的人,只需点击“播放”并让 Selenium 完成工作。
拖放适用于 IDE 和 WebDriver。
Selenium 中的大部分开发(似乎)都用于扩展 WebDriver 代码,IDE 可能在一些新功能方面落后。
直接使用 WebDriver,您还可以使用单元测试框架的全部功能(通常是 NUnit with C# 或 Junit/TestNG for Java)。这允许为每个浏览器重复测试(即在 Chrome、Firefox 和 IE 中重复测试)或在测试前后定义特定逻辑(即添加用户成员资格、创建用户、设置其他测试数据)。
如果它使用的是编程语言而不是脚本语言(即 WebDriver 是用编程语言编写的,IDE 脚本只是 HTML 文件),开发人员可能更愿意提供帮助。将它放入您的解决方案并将其作为每晚构建过程的一部分有助于确保开发人员帮助您进行测试。
考虑一下,另一个例子是修复了一个错误,但引入了一个新错误,导致您的测试失败。谁负责修复测试?你还是他们?让它直接使用 WebDriver,他们只需查找 Selenium 的源代码并自己找出 API 用法即可。使用 IDE,它实际上是一个调用了一些 javascipt 的 HTML 文件。关于它的文档不多。
总结一下:如果您没有太多编程经验,要么学习一门语言并直接使用 WebDriver,要么坚持使用 IDE。两者都可以完成这项工作。
关于ide - 使用 WebDriver 比 IDE 有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654899/
首先对WCF与WebService的定义进行概括,接着介绍了WCF的优势,最后就是对WCF与WebService两者的根本区别进行比较,具体内容如下 1、定义 1.WebService:严格来
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 5年前关闭。 Improve t
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
谁能告诉我将下一个脚本标记放在 元素之后和将它放在 元素之前有什么好处? (function (){ var script = document.createElement("script"); s
我最近遇到了一个 JavaScript 脚本,其中作者似乎试图避免在代码中使用字符串并将所有内容都分配给一个变量。 所以代替 document.addEventListener('click', (e
Scott Meyers 在“Effective Modern C++”中说表达式 Matrix sum = m1 + m2 + m3 + m4 (其中所有对象的类型均为 Matrix)“如果 ope
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
免责声明:我是网络开发的新手,所以请多多包涵... 堆栈:Angular 前端,后端的 Tornado(基于 python)网络服务器 我一直在使用 RxJs 和 WebSocket 成功地与后端通信
我一直在调查我的 Flutter 应用程序的 JSON 解析,并且有一个关于我无法解决的工厂构造函数的问题。我试图了解使用工厂构造函数与普通构造函数的优势。例如,我看到很多 JSON 解析示例,它们使
添加 SQL 后尝试打开 TadsQuery 时出现 5400 AE_INTERNAL_ERROR。当我将相同的 SQL 直接放在 TadsQuery 中时,没有错误。您的帮助文件指示我联系 Adva
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 8年前关闭。 Improve this
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improv
我想定义一个函数,当给定一个整数时,它将返回一个字符串。像这样: # Pseudocode function get_string(i) return my_string_array[i] end
我曾尝试在 Linux 和 Windows 上使用 DBD::Advantage,但没有成功。 Windows 版本附带了一个看似完整的安装程序,但它留下了 DBD-Advantage-8.10.ta
为什么说 NoSQL 在结构上比某些 SQL 数据库更快?假设我在某个 SQL 表的列上添加了一些索引。有人可以提供某种更快的查询吗? 我正在阅读有关 redis 的内容。 class User <
我的问题很简单:如果接口(interface)由单个类实现,那么使用接口(interface)有什么好处吗? 我一直认为只有当该接口(interface)有多个实现时,接口(interface)才是好
考虑这些(或多或少)等价的类型签名: f1 :: [a] -> Int -> a f2 :: Integral b => [a] -> b -> a f2 比 f1 更通用,这是一个很大的优势,但是
我们在 Scala 中部分应用了函数- def sum(a:Int,b:Int,c:Int) = a+b+c val partial1 = sum(1,_:Int,8) 我想知道使用部分应用函数的优点
你看下面的代码,我是如何使用 session 变量的;所以这三个问题是: 它们存放在哪里? (服务器或客户端) 它们对于每个网页访问者来说都是独一无二的吗? 我可以在完成工作后使用 ajax 或简单的
我知道这是一个常见问题,互联网上有关于此主题的资源,但我想从这个社区了解每个人在部署博客时对子域与子文件夹的想法(SEO 优势)。 谢谢。 最佳答案 我研究过一次,根据社区反馈以及权衡利弊,我会说去一
我是一名优秀的程序员,十分优秀!