Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 除了业力之外,硒还包括哪些测试?_Javascript_Selenium_Functional Testing_Karma Runner_Browser Automation - Fatal编程技术网

Javascript 除了业力之外,硒还包括哪些测试?

Javascript 除了业力之外,硒还包括哪些测试?,javascript,selenium,functional-testing,karma-runner,browser-automation,Javascript,Selenium,Functional Testing,Karma Runner,Browser Automation,我知道这是一个JavaScript测试运行程序,可以在真正的浏览器中运行测试。如果是这样的话,除了Karma之外,Selenium还提供了什么样的测试覆盖率。Selenium有几个版本,最新的(我相信)是Selenium Web驱动程序,它允许您创建一个驱动程序,通过模拟与用户界面交互的动作来为您处理浏览器(通过Json连接) 我目前对业力的理解(我可以补充一点)是它严重依赖于执行javascript。因为业力必须调用元素上的更改事件(如“模糊”和“悬停”)然而,Selenium只需单击、弹出选

我知道这是一个JavaScript测试运行程序,可以在真正的浏览器中运行测试。如果是这样的话,除了Karma之外,Selenium还提供了什么样的测试覆盖率。

Selenium有几个版本,最新的(我相信)是Selenium Web驱动程序,它允许您创建一个驱动程序,通过模拟与用户界面交互的动作来为您处理浏览器(通过Json连接)


我目前对业力的理解(我可以补充一点)是它严重依赖于执行javascript。因为业力必须调用元素上的更改事件(如“模糊”和“悬停”)然而,Selenium只需单击、弹出选项卡,将光标移动到。Selenium的浏览器仅限于其网页上指定的浏览器。

Karma和Selenium之间存在巨大差异。Selenium有内置的浏览器控制机制,而Karma没有。因此,Selenium更适合端到端测试,例如。Karma是设计对于单元测试来说,实现端到端测试要困难得多,例如,你可以添加一个phantomjs启动器,但它永远不会与使用Selenium的真实浏览器测试相同…我认为如果你有适配器,它们都可以运行任何js测试框架…Mocha、jasmine、qunit等等

永恒之后:


可以使用Karma编写e2e测试。您需要创建一个iframe或打开一个新窗口并运行一个脚本,从父框架或窗口进行导航、触发事件、提交表单等。测试页面需要允许您的Karma服务器使用CORS,或者您需要禁用浏览器安全性。我正在开发一个事实上,这取决于你在测试什么。如果你使用javascript编写单元测试——通过jasmine/mocha/chai或同等工具——karma严重依赖javascript而selenium不依赖的论点是多余的

在我所有的经验中,我很少与专门的自动化测试人员合作,虽然selenium语言可能是他们的选择,但selenium方法库并不像jquery这样的等价选择器引擎那样容易记忆

专门的自动化测试人员很难学习该语言,而开发人员对学习一种较低级别的语言缺乏兴趣,这使得公司在投资更复杂的自动化测试方面一直缺乏投资

在过去的几年中,已经有一些使用selenium的jquery增强实现,但是没有一个真正拥有庞大的追随者,而且大多数都是用java编写的

Webdriverio有一个npm包,它有一些jquery特性-

Karma有办法导入整个jquery引擎-

这取决于测试的内容。如果您正在测试前端代码,那么使用javascript是有意义的,使用jquery比使用selenium语言更容易,目前karma比webdriver更支持jquery


使用jquery进行自动测试可以将可转移的技能用于开发,反之亦然,开发人员也可以使用jquery进行自动测试。

有没有一种方法可以结束这些ui事件?你不必在jasmine中显式调用它们吗?当我使用Karma的Chrome launcher时,它会启动一个Chrome实例。这与使用Chrome不一样吗?不要夸夸其谈,说真的,不要know@Francisc0如果我记得很清楚的话,Karma会启动一个服务器,将您的测试文件发送到浏览器。因此,是的,这类似于手动运行Chrome并执行您的测试。Ofc。自动执行有一些优点,例如,您可以在将测试上传到github后在travis中运行测试,并且它会写入另一个优点是,您可以在多个浏览器中并行运行测试。