我在下面列出了以下量角器测试.它运行正常.但是我需要添加一些代码才能将浏览器打开到全屏,因为我的测试对gridster tile的像素位置很敏感.如何才能做到这一点?
describe('DragAndDrop Test',function () { require('protractor'); require('jasmine-expect'); beforeAll(function () { context = new Context(); context.get(); browser.waitForAngular(); browser.driver.manage().window().maximize(); }); it('should drag and drop Application Experience tile',function () { //a = angular.element(document).find('h3')[1] //target is where we are dragging the Box to. Box is the Box var target = { x: 300,y: 50 }; var Box = element(by.cssContainingText('h3','Application Experience')); var infoSpot = element(by.cssContainingText('h3','Application Experience')); //scope is going to hold the scope variables that tell us where the Box is located //get the standardItems Scope Box.evaluate('dashboards').then(function(scope) { //make sure the Box we are using is initially set in column 0 and Row 0 expect(scope['1'].widgets[0].col).toEqual(0); expect(scope['1'].widgets[0].row).toEqual(0); }); //drag and drop the Box somewhere else. browser.actions().dragAndDrop(Box,target).perform(); browser.waitForAngular(); browser.driver.sleep(5000); //get the updated scope Box.evaluate('dashboards').then(function(scope) { //test to see that the Box was actually moved to column 1 and row 0 expect(scope['1'].widgets[0].col).toEqual(1); expect(scope['1'].widgets[0].row).toEqual(0); }); }); }); var Context = function () { this.ignoreSynchronization = true; //load the website this.get = function () { browser.get('http://127.0.0.1:57828/index.html#/dashboard'); }; };
解决方法
我认为更好的做法是在配置中执行此操作.
onPrepare: function() { browser.manage().window().setSize(1600,1000); } or onPrepare: function() { browser.manage().window().maximize(); }