当前位置: 首页 > 知识库问答 >
问题:

无法在e2e量角器上运行自动测试用例,角度2

章丰茂
2023-03-14

我试图运行一个简单的测试,但测试失败了,因为量角器试图与页面同步,但不能,因为它不在角度。有什么需要改变的想法吗?

配置文件:

 exports.config = {
    allScriptsTimeout: 11000,

    specs            : [
     './src/**/*.e2e-spec.ts',
     '/pages/**/*.Tracker_pageobject.ts',   
   ],

    capabilities     : {
        'browserName': 'chrome'
    },
    directConnect    : true,
    baseUrl          : 'http://localhost:4200/',
    useAllAngular2AppRoots: true,
    framework        : 'jasmine',
describe('Test Application', () => {
beforeEach(() => {
    browser.waitForAngularEnabled(false);
    browser.driver.get(environment.url + "/login");
    browser.driver.manage().window().maximize();
    browser.waitForAngularEnabled(true);
});


it('should not open login page when user enters invalid Username & Password', () => {
    var loginpage = new dashboard();
    browser.sleep(2000);
    loginpage.userName('abc');
    browser.sleep(2000);
    loginpage.password('cde');
    loginpage.loginbtn();
    element(by.className('mat-error ng-tns-c33-4 ng-star-inserted')).getText().then(function(value){
      browser.waitForAngular();
      browser.sleep(5000);
      console.log(value);
     });
    browser.sleep(5000);
 });
 it('should not open login page when user enters spaces', () => {
   browser.sleep(5000);
   var loginpage = new dashboard();
   loginpage.userName(' ');
   browser.sleep(2000);
   loginpage.password(' ');
   loginpage.loginbtn();
   element(by.className('mat-error ng-tns-c33-4 ng-star-inserted')).getText().then(function(value){
    browser.waitForAngular();
    browser.sleep(5000);
    console.log(value);
   });
   browser.sleep(5000);
 });
import { browser, by, element } from 'protractor';
var loginpage = function(){
var userNamefield = element(by.css("input[formcontrolname = 'email']"));
var passwordfield = element(by.css("input[formcontrolname = 'password']")); 
var loginbutton = element(by.xpath('//*[@id="login-form"]/form/button'));
var logoutbtn = element(by.xpath('//*[@id="main-navigation"]/fuse-nav-vertical-group/div[1]/ul/li[3]/a'));
this.userName = function(vusername){
    userNamefield.sendKeys(vusername);
};

this.password = function(vpassWord){
    passwordfield.sendKeys(vpassWord);
};

 this.loginbtn = function(btn){
     loginbutton.click();
};

得到以下消息:失败:等待量角器与页面同步时出错:“angularJS测试性和angular测试性都未定义。这可能是因为这是一个非angular页面,或者是因为您的测试涉及客户端导航,这可能会干扰量角器的引导。有关详细信息,请参阅http://git.io/v4gxm

如有任何帮助,我将不胜感激

共有1个答案

郭辉
2023-03-14

从规范中的beforeach()块中删除具有browser.waitforangularenabled(....);的所有行。并将Browser.WaitForAngularEnabled(false);添加到Protractor.conf文件中的OnPrepare()部分

 类似资料:
  • 问题内容: 我似乎无法通过测试成功获得PhantomJS。我试图将其集成到我的项目中,但是在此之后失败了,我尝试仅运行基本的Angular Docs示例,但遇到了同样的问题。到目前为止,我的步骤: // … GhostDriver-Main-在端口9515上运行 这是与示例中相同的文件,仅具有browserName,并且seleniumAddress端口已更改: 我收到以下错误消息: 我在gith

  • 问题内容: 我正在开发AngularJS应用,并希望使用Protractor进行端到端2端测试。我想从Browserstack上提供的测试浏览器套件中受益,并在Browserstack Automate而非本地Selenium服务器上运行测试。 如何设置系统以运行这些测试? 问题答案: 从版本3.0.0开始的量角器添加了对BrowserStack的内置支持。 您只需在您的浏览器中添加以下两个参数即

  • 如何设置系统来运行这些测试?

  • 问题内容: 我是Protractor的新手。尽管缺少文档,但我仍然了解基本原理,但找不到解决此问题的方法。 给出以下代码: 我可以看到输入获取了要插入的文本,并且模型以相同的值更新,但是测试失败,原因是description.getText()返回’‘(空字符串)。 有没有其他方法可以在输入中捕获值? 提前致谢。 问题答案: 显然,Selenium WebDriver有一个怪癖。看这里 尝试: 注

  • 我有以下配置,但得到错误 詹金斯命令 下面是我的配置文件

  • 我有一个带有输入框和用户界面选择下拉列表的表单,在ng-blur事件中,我调用了一个方法来自动选择所有三个用户界面选择中的选项。当我使用量角器e2e测试执行此操作时,它不会等待用户界面选择发生并提交表单,这会引发异常,因为它没有找到只有在提交包含所有必需字段的表单后才会出现的元素。我试过这样browser.wait 它正在抛出异常。