机器人框架支持Angular2吗?

机器人框架支持Angular2吗?,angular,testing,automation,robotframework,Angular,Testing,Automation,Robotframework,我正在尝试用Robot框架自动化angular 2应用程序 但是,它在我的测试用例中找不到任何HTML属性(id或类) 它在错误下方抛出一个错误: 不匹配元素(id=accountinfo)首先尝试在开发者控制台中使用xpath(或其他选择器)(例如,Chrome开发控制台-点击页面上的F12,在“元素”中点击CTRL+F并将xpath(选择器)复制到搜索行)。如果在此处找不到元素,则说明您的选择器错误……否则,请尝试在robot代码中使用一些等待(例如,等待元素可见)robot框架将支持ang

我正在尝试用Robot框架自动化angular 2应用程序

但是,它在我的测试用例中找不到任何HTML属性(id或类)

它在错误下方抛出一个错误:


不匹配元素(id=accountinfo)

首先尝试在开发者控制台中使用xpath(或其他选择器)(例如,Chrome开发控制台-点击页面上的F12,在“元素”中点击CTRL+F并将xpath(选择器)复制到搜索行)。如果在此处找不到元素,则说明您的选择器错误……否则,请尝试在robot代码中使用一些等待(例如,等待元素可见)

robot框架将支持angular2

是的,它的支持

当我们运行正常的本地服务器时,它不工作,然后我尝试在
webpack dev server

那么它工作得很好

添加web包开发依赖项并运行
npm安装

“开发依赖性”:{
“网页包”:“2.2.1”,
“网页包开发服务器”:“2.4.1”,
“网页包合并”:“^3.0.0”

}
在过去的几个月里,我一直在使用Robot框架自动化Angular应用程序。这里有一些工具可以帮助你

首先,Selenium2图书馆实际上已经过时了。有一个新版本ExtendedSelenium2Library,它包括新的关键字并支持角度应用程序。要切换,请将代码中文本“Selenium2Library”的所有实例更改为“ExtendedSelenium2Library”。你可能还需要单独下载,但已经有一段时间了,所以我不记得了

其次,您需要至少在某种程度上学习如何读写XPath。我不会在这里完全解释它,但这里有一个工具,它将为您完成大部分繁重的工作。它不会一直工作,但对于包含文本的元素,它大部分时间都可以工作

Click Element by Text
    #   EXAMPLE USAGE
    #   Click Element by Text   "text on the element"   id="midlevellocationoftext"     button
    #   NOTE:   Does not account for extra spaces at the beginning or end, text must be exact
    #   NOTE:   Allows for injections on purpose to allow user to be more exact with their location
    [Arguments]     ${text}     ${location}=*   ${elementtype}=*
    Click Element   xpath=//*[@${location}]//${elementtype}[text()=${text}]
如果您没有它的中级位置,但有按钮类型,请输入*。这就是“我不知道”的xpath语法

自编辑:几乎忘记了,但在HTML中,ids使用的语法与Robot框架不同。id=someId不一定等于id=“someId”。尝试在ID的文本周围加引号


附加信息:在我最近的角度体验中,IDs和doms都是可变的。同一定位器可能在一个测试上工作,但如果您在它之前运行不同的测试,它将不工作。

我尝试使用robot框架自动化angular 2应用程序。它没有找到任何关键字。它给出了类似于的错误。不匹配元素(id=accountinfo)请您解释一下如何安装框架,如何在测试用例中调用角度元素。或者,即使测试用例也足以。。。我们需要一些东西来使用…我添加了扩展的selenium 2库,我们通过id、xpath、css等来识别元素。。。值错误元素定位器id=XXXXXX xpath=//XXXXXX不匹配任何元素“不匹配元素(id=accountinfo)”并不意味着“它找不到任何关键字”。如果robot找不到关键字,你会得到一个完全不同的错误,这两个错误都与angular2无关。我使用了x路径(选择器),它找不到,但我可以找到单词。