草庐IT

javascript - 如何测试该方法是否已在 Jasmine 中调用?

我对监视Jasmine有点困惑。我有这样的代码,但我不确定如何测试它。varparams={param1:"",param2:"link",param3:"1",param4:"1"};varfunc=newmyFunction(params);func.doSomething();如何测试func.doSomething已被调用。这是我到目前为止写的测试describe("Library",function(){beforeEach(function(){});it("shouldincludecorrectparameters",function(){expect(params.p

javascript - '错误 : Unexpected request' during Karma Angular Unit Test

运行gruntkarma时,其中一个指令的测试在尝试获取模板时失败。我使用ng-html2js作为预处理器。这是我的一些karma.conf.jsplugins:['karma-chrome-launcher','karma-jasmine','ng-html2js','karma-ng-html2js-preprocessor'],preprocessors:{'app/scripts/directives/**/*.html':'ng-html2js'},ngHtml2JsPreprocessor:{moduleName:'templates'}在我的测试中,我有以下内容:'use

javascript - 使用 ui-select 使用 Protractor 进行测试

我正在尝试使用Protractor测试ui-select。在这个ui-select中,我有一个国家列表。我的html看起来像:{{$select.selected.name}}我的页面对象如下所示:this.country=element(by.model('datiAnagrafici.countryOfBirth'));this.fillForm=function(){this.country.sendKeys('IT');}在我的规范文件中我有:it('shouldfilltheform',function(){form.fillForm();})但是当我运行我的测试时,ng-m

javascript - Protractor 给出 "Unable to start a WebDriver session"错误

我已经用webdriver-managerstart启动了一个服务器,但是当我尝试运行Protractor时出现这个错误:Usingtheseleniumserverathttp://127.0.0.1:4444/wd/hub[launcher]Running1instancesofWebDriverERROR-UnabletostartaWebDriversession.C:\...\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:113vartemplate=newErro

javascript - Protractor :检查数据按日期排序

我需要检查返回的数据是否按日期排序。我是这样写的:it('shouldbesortedbydate',function(){element.all(by.repeater('usersingroup.users')).then(function(users){varlastUser=users[0].element(by.id('birth-date')).getText();for(vari=1;i返回:Expected'Jan1,201500:00'tobegreaterthan'Jan1,201500:00'.我做错了什么?currentUser和lastUser似乎是对象而不是

javascript - Protractor :获取非 Angular 页面的 url

案例我尝试测试:在Angular应用程序页面上按下按钮,将您重定向到其他网站(不是Angular应用程序)。it('shouldgoto3dpartyservicewheniclick"auth"button',function(){browser.driver.sleep(3000);element(by.id('files-services-icon')).click();element(by.id('box-vendor-menu-item')).click();browser.driver.sleep(2000);expect(browser.driver.getLocatio

javascript - Protractor - 发送规范/套件名称作为参数

我可以使用规范或套件名称作为参数来运行Protractor测试吗?我目前正在运行它:protractormyconf.js谢谢。 最佳答案 是的,有特定的--specs命令行参数:$protractor--helpUsage:protractor[options][configFile]configFiledefaultstoprotractor.conf.jsThe[options]objectwilloverridevaluesfromtheconfigfile.Options:--helpPrintProtractorhelp

javascript - 如何在 angularjs 测试中模拟 $location.host()?

我已经创建了一个包含环境信息的Env服务,我目前正在使用$location.host()来确定我所处的环境。我如何在我的测试中模拟它?我读过https://groups.google.com/forum/?fromgroups#!topic/angular/F0jFWC4G9hI,但它似乎不起作用,例如:describe("Env(environment)service",function(){varEnv;beforeEach(module('App'));beforeEach(inject(['Env',function(e){Env=e;}]));describe("forsta

javascript - 如何使用 Protractor 在警告框中单击“确定”

我正在使用AngularJS,我想删除一个链接,在这种情况下,会出现一个警告框以确认删除。我正在尝试使用Protractor进行端到端测试,如何在警告框中确认?我试过:browser.switchTo().alert().accept()但是好像不行。Protractor中是否有处理警告框的规定? 最佳答案 尝试browser.driver.get('URL');browser.switchTo().alert().accept();或browser.ignoreSynchronization=truebrowser.get('UR

javascript - 使用 Jasmine 在 JavaScript 中插入 WebSocket

我尝试测试onmessage是否是一个正确的函数。这是一个测试:describe(".init(address,window)",function(){beforeEach(function(){address='ws://test.address';window={};e={data:{}}spyOn(window,'WebSocket').and.returnValue(function(){return{onmessage:null}});spyOn(subject,'handleMessage');});it("shouldcreateaWebSocketclientwhich