Selenium webdriver Robot框架+带AngularJS 2.0的Selenium2库

Selenium webdriver Robot框架+带AngularJS 2.0的Selenium2库,selenium-webdriver,robotframework,selenium2library,Selenium Webdriver,Robotframework,Selenium2library,现在我正在使用Robot Framework+Selenium2库实现UI自动化。一旦AngularJS 2.0面市,我们将把它移植到AngularJS 2.0上 因此,关于Robot Framework+Selenium2库与AngularJS 2.0的兼容性的任何想法?Robot Framework+Selenium2库与用于构建UI的框架几乎是独立的。只要您的应用程序是基于web的,并且提供了一些方法来定位元素ID、css、xpath等,它就应该可以工作。。因此,是的,您将能够使用Angu

现在我正在使用Robot Framework+Selenium2库实现UI自动化。一旦AngularJS 2.0面市,我们将把它移植到AngularJS 2.0上


因此,关于Robot Framework+Selenium2库与AngularJS 2.0的兼容性的任何想法?

Robot Framework+Selenium2库与用于构建UI的框架几乎是独立的。只要您的应用程序是基于web的,并且提供了一些方法来定位元素ID、css、xpath等,它就应该可以工作。。因此,是的,您将能够使用AngularJS 2.0通过UI实现测试自动化。Robot Framework+Selenium2库与用于构建UI的框架非常独立。只要您的应用程序是基于web的,并且提供了一些方法来定位元素ID、css、xpath等,它就应该可以工作。。因此,是的,您将能够通过AngularJS 2.0的UI实现测试自动化。我一直在为一些web应用程序使用selenium2library和robot框架,当我们开始使用AngularJS开发应用程序时,selenium2library出现了一些问题,如定位元素和确定angular何时完成加载。我做了一些挖掘,发现这是在AnugularJ的支持下设计的。因此,这个库中有一些关键字,比如Wait Until Angular Ready,这使得编写测试用例与以前一样简单,使用robot framework和selenium2library关键字。

我已经将selenium2library和robot framework用于一些web应用程序,当我们开始使用angularJs开发应用程序时,Selenium2库提出了一些问题,如定位元素和确定angular何时完成加载。我做了一些挖掘,发现这是在AnugularJ的支持下设计的。所以这个库中有一些关键字,比如Wait Until Angular Ready,这使得编写测试用例像以前一样简单,使用robot框架和Selenium2库关键字

关于Robot Framework+Selenium2库与AngularJS 2.0的兼容性有什么想法吗

我敢说,你不应该面对任何重大问题

在我目前的项目中,我使用RF作为一个使用React.js的系统,我敢说,React.js甚至更极端,在DOM上做了疯狂的事情,没有直接反馈给WebDriver的机制,到目前为止,我还没有任何真正的问题。根据我目前的经验,有几点建议:

一定要高度依赖Selenium2库关键字,直到元素*可见、控件等。 他们每200毫秒轮询一次DOM,并给出关键字和测试执行速度——一旦UI根据操作做出反应和更新,就会继续。 此外,它们是有时间限制的,如果SUT没有在时间限制内按照预期行动,它们将无法通过测试用例-这使您能够开箱即用地验证您的kw和/或测试用例是否确实达到了您对它们的预期,这在每个自动化系统中都是必须的:

我主要使用xpath作为定位策略,尽管我个人更喜欢css,尤其是在阅读了一些关于css在更新后无法匹配元素的恐怖故事之后,等等。 性能差异可以忽略不计-在我做的基本测试中不存在,但xpath给了您其他好处-在树上,通过文本值定位元素[containstext,text_placeholder]让我多次避免了react的混乱疯狂;其他的,我现在还不能说

希望这对您或其他人有所帮助,RF+SE=auto beast:

关于Robot Framework+Selenium2库与AngularJS 2.0的兼容性有什么想法吗

我敢说,你不应该面对任何重大问题

在我目前的项目中,我使用RF作为一个使用React.js的系统,我敢说,React.js甚至更极端,在DOM上做了疯狂的事情,没有直接反馈给WebDriver的机制,到目前为止,我还没有任何真正的问题。根据我目前的经验,有几点建议:

一定要高度依赖Selenium2库关键字,直到元素*可见、控件等。 他们每200毫秒轮询一次DOM,并给出关键字和测试执行速度——一旦UI根据操作做出反应和更新,就会继续。 此外,它们是有时间限制的,如果SUT没有在时间限制内按照预期行动,它们将无法通过测试用例-这使您能够开箱即用地验证您的kw和/或测试用例是否确实达到了您对它们的预期,这在每个自动化系统中都是必须的:

我主要使用xpath作为定位策略,尽管我个人更喜欢css,尤其是在阅读了一些关于css在更新后无法匹配元素的恐怖故事之后,等等。 性能差异可以忽略不计-在我做的基本测试中不存在,但xpath给了您其他好处-在树上,通过文本值定位元素[containstext,text_placeholder]让我多次避免了react的混乱疯狂;ot 她的,我刚才说不出


希望这能对您或其他任何人有所帮助,RF+SE=auto beast:

我对Robot Framework+AngularJS有不同的策略,但这只是有用的,因为我们的Robot Framework代码在Linux虚拟机的后台运行,所以速度并不重要。我使用一个名为Slow Down的自定义关键字,如下所示:

Click Element   ${THIS_ELEMENT}
    Slow Down   ${SLOW_TIME}

通过在每次单击之后放置此项,并在每次单击之前输入文本,我能够告诉整个测试减慢速度,以匹配浏览器的速度和单个变量。我发现当与Selenium2 LibraryExtended配对时,这比等待元素*关键字更可靠。不,我不知道这是为什么。

我对Robot Framework+AngularJS有不同的策略,但它只是有用的,因为我们的Robot Framework代码在Linux虚拟机的后台运行,所以速度并不重要。我使用一个名为Slow Down的自定义关键字,如下所示:

Click Element   ${THIS_ELEMENT}
    Slow Down   ${SLOW_TIME}
通过在每次单击之后放置此项,并在每次单击之前输入文本,我能够告诉整个测试减慢速度,以匹配浏览器的速度和单个变量。我发现当与Selenium2 LibraryExtended配对时,这比等待元素*关键字更可靠。不,我不知道为什么。

看看,它可能会解决你的问题。看看,它可能会解决你的问题。