Merge branch 'feature/new-mobile'
This commit is contained in:
commit
abd400c9d3
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -18,3 +18,8 @@ apps/presentationeditor/mobile/document
|
|||
apps/spreadsheeteditor/embed/offlinedocs
|
||||
apps/spreadsheeteditor/main/offlinedocs
|
||||
apps/spreadsheeteditor/mobile/offlinedocs
|
||||
|
||||
# tests
|
||||
selenium-debug.log
|
||||
**/test/bin
|
||||
**/test/reports
|
34
apps/documenteditor/mobile/test/nightwatch.json
Normal file
34
apps/documenteditor/mobile/test/nightwatch.json
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"src_folders" : ["tests"],
|
||||
"output_folder" : "reports",
|
||||
"custom_commands_path" : "",
|
||||
"custom_assertions_path" : "",
|
||||
"page_objects_path" : "",
|
||||
"globals_path" : "",
|
||||
|
||||
"selenium" : {
|
||||
"start_process" : true,
|
||||
"server_path" : "./bin/selenium-server-standalone-2.53.1.jar",
|
||||
"log_path" : "",
|
||||
"port" : 4444,
|
||||
"cli_args" : {
|
||||
"webdriver.chrome.driver" : "./bin/chromedriver"
|
||||
}
|
||||
},
|
||||
|
||||
"test_settings" : {
|
||||
"default" : {
|
||||
"launch_url" : "http://localhost",
|
||||
"selenium_port" : 4444,
|
||||
"selenium_host" : "localhost",
|
||||
"silent": true,
|
||||
"screenshots" : {
|
||||
"enabled" : true,
|
||||
"path" : "reports/screens"
|
||||
},
|
||||
"desiredCapabilities": {
|
||||
"browserName": "chrome"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* de-mobile-edit-tablet-ios.js
|
||||
*
|
||||
* Created by Alexander Yuzhin on 1/10/17
|
||||
* Copyright (c) 2017 Ascensio System SIA. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
var Utils = require('../utils');
|
||||
|
||||
module.exports = {
|
||||
before : function (browser) {
|
||||
Utils.init(browser);
|
||||
browser.resizeWindow(800, 600);
|
||||
},
|
||||
|
||||
'Launch Document Editor' : function (browser) {
|
||||
Utils.openEditor('http://local:3000/editor?type=mobile&mode=edit&fileName=sample.docx');
|
||||
},
|
||||
|
||||
'Text settings' : function (browser) {
|
||||
Utils.canvasClick(280, 280)
|
||||
.click('#toolbar-edit')
|
||||
.pause(500);
|
||||
|
||||
Utils.isPresent('div.edit-root-view');
|
||||
Utils.isPresent('#edit-text');
|
||||
Utils.isPresent('#edit-paragraph');
|
||||
|
||||
// Text tap
|
||||
Utils.hasClass('#edit-text', 'active');
|
||||
|
||||
browser.expect.element('#font-fonts .item-title').text.to.equal('Arial');
|
||||
browser.expect.element('#font-fonts .item-after span:first-child').text.to.equal('11 pt');
|
||||
|
||||
Utils.hasClass('#font-bold', 'active');
|
||||
Utils.hasNoClass('#font-italic', 'active');
|
||||
Utils.hasNoClass('#font-underline', 'active');
|
||||
Utils.hasNoClass('#font-strikethrough', 'active');
|
||||
|
||||
Utils.hasClass('#font-left', 'active');
|
||||
Utils.hasNoClass('#font-center', 'active');
|
||||
Utils.hasNoClass('#font-right', 'active');
|
||||
Utils.hasNoClass('#font-just', 'active');
|
||||
|
||||
// Fonts view
|
||||
browser
|
||||
.click('#font-fonts')
|
||||
.waitForElementVisible('.page[data-page=edit-text-font-page]', 1000)
|
||||
.pause(500);
|
||||
|
||||
browser.expect.element('#font-size .item-after label').text.to.equal('11 pt');
|
||||
browser.elements('css selector', '#font-list li', function(result) {
|
||||
browser.assert.ok(result.value.length > 1, 'Font name list is not empty');
|
||||
});
|
||||
|
||||
browser
|
||||
.click('.navbar-on-center a.back')
|
||||
.pause(500);
|
||||
|
||||
// Paragraph tap
|
||||
browser
|
||||
.click('.categories a[href*=edit-paragraph]')
|
||||
.pause(500);
|
||||
|
||||
Utils.hasClass('#edit-paragraph', 'active');
|
||||
|
||||
browser.elements('css selector', '#paragraph-list li', function(result) {
|
||||
browser.assert.ok(result.value.length > 1, 'Paragraph style list is not empty');
|
||||
});
|
||||
},
|
||||
|
||||
'Exit from Document Editor' : function (browser) {
|
||||
var delay = 3000;
|
||||
|
||||
Utils.isPresent('.view-main');
|
||||
console.log('Finish testing after delay', delay, 'ms.');
|
||||
|
||||
browser
|
||||
.pause(delay)
|
||||
.frame(null) // Exit from iframe
|
||||
.end(); // Close browser
|
||||
}
|
||||
};
|
82
apps/documenteditor/mobile/test/utils.js
Normal file
82
apps/documenteditor/mobile/test/utils.js
Normal file
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* utils.js
|
||||
*
|
||||
* Created by Alexander Yuzhin on 1/11/17
|
||||
* Copyright (c) 2017 Ascensio System SIA. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
var browser;
|
||||
|
||||
module.exports = {
|
||||
init: function (client) {
|
||||
browser = client;
|
||||
},
|
||||
|
||||
openEditor: function (url) {
|
||||
browser
|
||||
.url(url)
|
||||
.waitForElementVisible('body', 1000)
|
||||
.frame(0) // Deep into editor iframe
|
||||
.waitForElementPresent('.modal-preloader', 1000)
|
||||
.waitForElementNotPresent('.modal-preloader', 10000);
|
||||
// .frame(null); // Exit from iframe
|
||||
// .end(); // Close browser
|
||||
|
||||
return browser;
|
||||
},
|
||||
|
||||
canvasClick: function (x, y) {
|
||||
browser
|
||||
.moveToElement('#area_id_main', x, y)
|
||||
.mouseButtonDown('left')
|
||||
.mouseButtonUp('left');
|
||||
|
||||
return browser;
|
||||
},
|
||||
|
||||
isPresent: function (selector) {
|
||||
return browser.expect.element(selector).to.be.present;
|
||||
},
|
||||
|
||||
hasClass: function (selector, className) {
|
||||
return browser.expect.element(selector).to.have.attribute('class').which.contains(className);
|
||||
},
|
||||
|
||||
hasNoClass: function (selector, className) {
|
||||
return browser.expect.element(selector).to.not.have.attribute('class').which.contains(className);
|
||||
}
|
||||
};
|
Loading…
Reference in a new issue