加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJs使用Java编写的现有Selenium测试进行端到端测试

发布时间:2020-12-17 16:58:21 所属栏目:安全 来源:网络整理
导读:鉴于一个网站现有大量使用Selenium为 Java编写的 Java测试用例,并且该网站正在AngularJs中重写,如何将Selenium测试集成到新应用程序中? 我已经研究了Protractor,这是一个使用Selenium的新推荐的端到端测试运行器,但是,这似乎建议用Javascript编写测试. This
鉴于一个网站现有大量使用Selenium为 Java编写的 Java测试用例,并且该网站正在AngularJs中重写,如何将Selenium测试集成到新应用程序中?

我已经研究了Protractor,这是一个使用Selenium的新推荐的端到端测试运行器,但是,这似乎建议用Javascript编写测试. This article详细介绍了如何使这个设置正常工作,但同样,测试是用Javascript编写的.

尽管我想在Javascript中编写测试,但我想避免重写,因此将现有的集成方法集成起来会很好. Protractor中是否有配置可以实现这一点?

解决方法

我担心这里没有好的解决方案.你的方式有很多障碍.

> Protractor是用JavaScript编写的,是Selenium的WebDriverJS实现的包装器.鉴于WebDriverJS使用与Java WebDriver非常不同的API(由于节点的异步性质),即使技术上可以获得包装Java库的节点库,在这种情况下它也不起作用.
>量角器和Selenium不支持相同的API,所以即使有基于Java的量角器,你也会发现自己做了一些重组工作.
>如果您正在利用Angular,那么虽然您的页面的整体行为可能与底层DOM结构相同,但不会如此.无论是这个还是你都没有充分利用Angular.因此,除非你有一个非常好的页面对象抽象层,否则你将不得不重写你的测试.如果确实有一个好的页面对象层,则需要在任何情况下重写该层.

在我看来,你最好的最好的如下:

如果您的规范本身是用更高级别的规范语言(如Cucumber)编写的,那么理论上至少可以使用cucumber-js将其移植到javascript中,您可以简单地重新实现底层定义(不是小任务).量角器.

你可以真正雄心勃勃地将端口量角器转换为Java,如果它似乎比在javascript中重写你的测试更省力.然后,您可以自由地将问题#2最小化,但我仍然认为#3会让您得出结论,将您的测试移植到javascript具有较低的LOE.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读