Angular 使用角度7.x和量角器6(beta)

Angular 使用角度7.x和量角器6(beta),angular,selenium-webdriver,protractor,angular-cli,Angular,Selenium Webdriver,Protractor,Angular Cli,是否有人能够使用量角器6(beta版)执行Angular CLI7.xE2E测试?由于在中描述的问题,我期待着给出selenium-webdriver@4.0.0-alpha.1是一个尝试,但它似乎没有那么简单,并且遇到了一些问题,webdriver管理器无法找到 此处剪切了量角器测试版: 更新(正在工作) 我相信我明白了。使其工作的步骤: 在Mac OS X 10.13.6上使用节点10.15.0 LTS: $node-v v10.15.0 使用Angular CLI7.2.1 $ng版本

是否有人能够使用
量角器6(beta版)
执行
Angular CLI
7.x
E2E测试?由于在中描述的问题,我期待着给出
selenium-webdriver@4.0.0-alpha.1
是一个尝试,但它似乎没有那么简单,并且遇到了一些问题,
webdriver管理器
无法找到

此处剪切了
量角器
测试版:

更新(正在工作)

我相信我明白了。使其工作的步骤:

在Mac OS X 10.13.6上使用节点
10.15.0 LTS

$node-v
v10.15.0
使用Angular CLI
7.2.1

$ng版本
_                      _                 ____ _     ___
/ \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
/ ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
|___/
角度CLI:7.2.1
节点:10.15.0
OS:Darwinx64
角度:7.2.0
...
创建一个简单的应用程序:

$ng新ng72——路由=true——样式=scss

更新
package.json

  • “茉莉花芯”:“^3.3.0”,
  • “量角器”:“6.0.0-beta版”
更新
等待/async
的测试:

从'/app.po'导入{AppPage};
描述('workspace-project-App',()=>{
let page:AppPage;
在每个之前(()=>{
page=新的AppPage();
});
它('应该显示欢迎消息',async()=>{
等待page.navigateTo();
wait expect(wait page.getTitleText()).toEqual('Welcome to ng72!');
});
});
然后执行:

  • $npm安装
  • $。/node\u模块/量角器/bin/webdriver管理器更新
  • $npm重建节点sass
  • $ng e2e--无网络驱动程序更新
Google(
Version 72.0.3626.53
)将启动并成功执行测试

作为旁注。如果不执行
等待page.getTitletText()
,则测试 由于非常模糊的NoSuchSessionError失败:会话id无效

**************************************************
*失败*
**************************************************
1) 工作区项目应用程序应显示欢迎消息
-应为ElementFinder({browser\:GragratorBrowser({execute:Function,setFileDetector:Function,getExecutor:Function,getSession:Function,getCapabilities:Function,quit:Function,actions:Function,executeScript:Function,executeAsyncScript:Function,wait:Function,sleep:Function,getWindowHandle:Function,getAllWindowHandles:Function,getPageSource:Function,close:Function,getCurrentUrl:Function,getTitle:Function,findElementInternal:Function,takeScreenshot:Function,manage:Function,Switch to:Function,driver:driver({session:[object Promise],executor:executor({w3c:false,customCommands:[launchApp],object({method:'POST',path:'/session/:sessionId/chromiu/launch_-app'}],['getNetworkConditions',Object({method:'GET',path:'/sessionId/chromiu/network_-conditions'})],['sendDevTools…等于'Welcome to ng72!'。
在0.484秒内执行了1个规格中的1个(1个失败)。
随机化种子13684。
/Users/dev/ng72/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:3190
抛出参数[0];
^
NoSuchSessionError:会话id无效
(驱动程序信息:chromedriver=72.0.3626.7(efcef9a3ecda02b2132af215116a03852d08b9cb),平台=Mac OS X 10.13.6 x8664)
量角器6.0.0-beta不适用于angular cli 感谢您站在最前沿(并试用我的版本)!希望除此问题外,它大部分都能正常工作。不幸的是,angular cli和量角器的新版本(6.0.0-beta)不能一起工作。一旦量角器正式发布,angular cli使用它,这方面的故事就会有所改进

目前,如果您想使用6beta版,建议将其(您的测试)与angular cli项目分开

当未等待
page.getTitletText()时

当承诺最终得到解决时,浏览器会话被量角器关闭(这可能不是最好的错误消息)。此外,您只需执行
expect(wait page.getTitleText()).toEqual(“欢迎使用ng72!”)
,您确实需要在
expect
前面有一个
等待
谢谢您的反馈!尝试单独使用量角器。我遇到的一个问题是测试用例的顺序。默认情况下,测试现在以随机顺序执行:
bash随机化,种子78491启动Jasmine启动
我很难重写那:
json jasmineNodeOpts:{random:false,…}
我看到一些指针,底层Jasmine配置在
3.3.0
中发生了更改。我是否错过了一些东西,或者这仍然是一些未完成的东西?看起来像
Jasmine.getEnv().randomizeTests(false)
起作用了。嗯……看起来这是默认情况下应该发生的。