小编Vin*_*nay的帖子

使用spyon时的代码覆盖率问题

我正在unit test为我的component(Angular2应用程序)编写一个使用Karma-Jasmine.我正在使用Istanbul代码覆盖率报告.

这是我的测试用例,

it('Should Invoke onNext function', async(() => {
    const fixture = TestBed.createComponent(LoginComponent);
    fixture.detectChanges();
    const login = fixture.componentInstance;

    spyOn(login, 'onNext');

    let email = fixture.debugElement.nativeElement.querySelector("input[name='username']");
    email.value = "email";

    let nextButton = fixture.debugElement.nativeElement.querySelectorAll("button")[1];
    nextButton.click();

    fixture.whenStable().then(() => {
      expect(login.onNext).toHaveBeenCalled();
    })
  }));
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我spying on onNext function将验证它是否被调用nextbutton click.它工作正常,测试通过.

但是我的"登录"页面的代码覆盖率报告显示未涵盖onNext函数. 在此输入图像描述

我究竟做错了什么??

如果我不监视onNext函数,该函数也会被覆盖,

it('Should Invoke onNext function', async(() => {
    const fixture = TestBed.createComponent(LoginComponent);
    fixture.detectChanges();
    const login = fixture.componentInstance;


    let email = fixture.debugElement.nativeElement.querySelector("input[name='username']");
    email.value …
Run Code Online (Sandbox Code Playgroud)

typescript karma-runner istanbul karma-jasmine angular

7
推荐指数
1
解决办法
1374
查看次数

在给定元素值的python中使用webdriver检索任何元素的ID

我正在使用 selenium 在 Firefox 中记录测试用例。它记录了一个按钮点击/或任何动作,如下所示,

driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_id("ctl00__mainContent_lnkforgotpassword").click()
driver.find_element_by_id("ctl00__mainContent_ucForgotPassword1_btnNext").click()
Run Code Online (Sandbox Code Playgroud)

在这里,驱动程序使用 find_element_by_id 方法来访问元素,并且效果很好。

但我的要求是在仅给出该元素的文本的情况下找到此 Id,例如 -

如果忘记密码是一个链接,我想检索这个链接的ID,我会将关于代码修改为,

driver.find_element_by_id(getID("Forgot Password")).click().
Run Code Online (Sandbox Code Playgroud)

那么有没有办法编写getId()函数来从当前打开的页面中检索链接忘记密码ID (或其他情况下某些标签/按钮的 ID)

python firefox selenium

6
推荐指数
2
解决办法
2万
查看次数

在打字稿中找不到名称“导出”错误

我有一个像下面这样的打字稿文件,

环境文件

var Environment = "DEV"
exports.Environment = Environment;
Run Code Online (Sandbox Code Playgroud)

我在我的 app.config 文件中使用它,如下所示,

var execEnv = require('./src/execEnvironment.ts');
Run Code Online (Sandbox Code Playgroud)

这给了我错误

找不到名称“exports”。

我究竟做错了什么?

typescript angular

5
推荐指数
2
解决办法
6338
查看次数

在运行量角器测试时进行API调用

我使用angular2.0和构建了一个Web应用程序typescript.现在我正在E2E为我的网站写作protractor.

现在,在我的一个测试中,我需要进行API调用(HTTP GET请求)并在我的测试用例中使用响应值作为输入.

所以基本上我想知道如何使一个GET requestProtractor-Jasmine和使用结果/响应.

jasmine typescript protractor e2e-testing angular

2
推荐指数
1
解决办法
2474
查看次数