Skip to content

Commit

Permalink
## ver 2.4.6 (2017-3-18)
Browse files Browse the repository at this point in the history
1. Add: add localhost hosts tip for mac system
2. Update: update selenium-standalone to version v6.1.0
3. Fix: stop chromedriver and browser before recorder ended
4. Fix: add i18n text for var template dialog
5. Add: add title to recorder browser and checker browser
  • Loading branch information
itestauipi committed Mar 18, 2017
1 parent d03d081 commit 08e0269
Show file tree
Hide file tree
Showing 9 changed files with 94 additions and 57 deletions.
8 changes: 8 additions & 0 deletions CHANGE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
UI Recorder change log
====================

## ver 2.4.6 (2017-3-18)

1. Add: add localhost hosts tip for mac system
2. Update: update selenium-standalone to version v6.1.0
3. Fix: stop chromedriver and browser before recorder ended
4. Fix: add i18n text for var template dialog
5. Add: add title to recorder browser and checker browser

## ver 2.4.5 (2017-3-17)

1. Add: add attr data-test
Expand Down
12 changes: 6 additions & 6 deletions chrome-extension/js/foreground.js
Original file line number Diff line number Diff line change
Expand Up @@ -1966,14 +1966,14 @@
arrHtmls.push('<li style="display:none"><label>'+__('dialog_vars_update_param')+'</label><input id="uirecorder-vars-update-param" type="text" value="" /></li>');
arrHtmls.push('<li style="display:none"><label>'+__('dialog_vars_update_regex')+'</label><input id="uirecorder-vars-update-regex" type="text" value="/(.*)/" /></li>');
arrHtmls.push('<li><label>'+__('dialog_vars_value')+'</label><input id="uirecorder-vars-value" type="text" readonly /></li>');
arrHtmls.push('<li><label>'+__('变量模板:')+'</label><input id="uirecorder-vars-template" type="text" /></li>');
arrHtmls.push('<li><label>'+__('模板结果:')+'</label><input id="uirecorder-vars-template-value" type="text" readonly /></li>');
arrHtmls.push('<li><label>'+__('dialog_vars_template')+'</label><input id="uirecorder-vars-template" type="text" /></li>');
arrHtmls.push('<li><label>'+__('dialog_vars_template_result')+'</label><input id="uirecorder-vars-template-result" type="text" readonly /></li>');
arrHtmls.push('</ul>');
var reDomRequire = /^(val|text|displayed|enabled|selected|attr|css)$/;
var reParamRequire = /^(attr|css|cookie|localStorage|sessionStorage)$/;
var isNewName = false; // 是否新变量
var domVarsDomPath;
var domVarsType, domVarsNameArea, domVarsName, domVarsTemplate, domVarsTemplateValue, domVarsAddName, domVarsValue;
var domVarsType, domVarsNameArea, domVarsName, domVarsTemplate, domVarsTemplateResult, domVarsAddName, domVarsValue;
var domVarsUpdateType, domVarsUpdateParam, domVarsUpdateRegex;

var tempTestVars = {};
Expand All @@ -1996,7 +1996,7 @@
domVarsNameArea = document.getElementById('uirecorder-vars-namearea');
domVarsName = document.getElementById('uirecorder-vars-name');
domVarsTemplate = document.getElementById('uirecorder-vars-template');
domVarsTemplateValue = document.getElementById('uirecorder-vars-template-value');
domVarsTemplateResult = document.getElementById('uirecorder-vars-template-result');
domVarsAddName = document.getElementById('uirecorder-vars-addname');
domVarsUpdateType = document.getElementById('uirecorder-vars-update-type');
domVarsUpdateParam = document.getElementById('uirecorder-vars-update-param');
Expand All @@ -2016,7 +2016,7 @@
domVarsType.onchange = function(){
var varType = domVarsType.value;
domVarsTemplate.parentNode.style.display = varType === 'insert'?'block':'none';
domVarsTemplateValue.parentNode.style.display = varType === 'insert'?'block':'none';
domVarsTemplateResult.parentNode.style.display = varType === 'insert'?'block':'none';
domVarsUpdateType.parentNode.style.display = varType === 'update'?'block':'none';
domVarsDomPath.parentNode.style.display = varType === 'update'?'block':'none';
domVarsUpdateRegex.parentNode.style.display = varType === 'update'?'block':'none';
Expand Down Expand Up @@ -2061,7 +2061,7 @@
alert(e);
template = '';
}
domVarsTemplateValue.value = getTempVarStr(template);
domVarsTemplateResult.value = getTempVarStr(template);
}
function refreshToValue(){
var type = domVarsUpdateType.value;
Expand Down
5 changes: 5 additions & 0 deletions i18n/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@
"exec_succeed": "execute succeed",
"exec_failed": "execute failed",
"recorder_browser_opened": "Recorder browser opened",
"recorder_browser_title": "Recorder browser",
"checker_browser_opened": "Checker browser opened",
"checker_browser_title": "Checker browser",
"recorder_server_closed": "Recorder server closed",
"recorder_browser_closed": "Recorder browser closed",
"checker_browser_closed": "Checker browser closed",
Expand All @@ -34,6 +36,7 @@
"nocheck": "no checked",
"recorder_server_listen_on": "Recorder server listen on: %s",
"chrome_init_failed": "Chrome init failed!",
"localhost_hosts_tip": "Please try to add `127.0.0.1 localhost` to your hosts!",
"mobile_open_first": "Please connect your mobile, or open emulator first.",
"mobile_open_failed": "Mobile open failed, please check macaca config.",
"exec_succeed": " execute succeed",
Expand Down Expand Up @@ -85,6 +88,8 @@
"dialog_vars_name_empty": "Name empty!",
"dialog_vars_name_duplicated": "Name duplicated!",
"dialog_vars_value": "Var value: ",
"dialog_vars_template": "Var template: ",
"dialog_vars_template_result": "Template result: ",
"dialog_vars_update_type": "Update type: ",
"dialog_vars_update_dom": "Update DOM: ",
"dialog_vars_update_param": "Update param: ",
Expand Down
5 changes: 5 additions & 0 deletions i18n/zh-cn.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@
"exec_succeed": "执行成功",
"exec_failed": "执行失败",
"recorder_browser_opened": "录制浏览器已开启",
"recorder_browser_title": "录制浏览器",
"checker_browser_opened": "校验浏览器已开启",
"checker_browser_title": "校验浏览器",
"recorder_server_closed": "录制服务器已关闭",
"recorder_browser_closed": "录制浏览器已关闭",
"checker_browser_closed": "校验浏览器已关闭",
Expand All @@ -34,6 +36,7 @@
"nocheck": "未经过校验",
"recorder_server_listen_on": "录制服务器监听在端口: %s",
"chrome_init_failed": "Chrome打开失败!",
"localhost_hosts_tip": "请尝试添加 `127.0.0.1 localhost` 到您的hosts文件中!",
"mobile_open_first": "请先连接手机或打开模拟器。",
"mobile_open_failed": "手机打开失败,请检查macaca是否配置正确?",
"exec_succeed": " 执行成功",
Expand Down Expand Up @@ -85,6 +88,8 @@
"dialog_vars_name_empty": "变量名不能为空!",
"dialog_vars_name_duplicated": "变量名重复!",
"dialog_vars_value": "变量值: ",
"dialog_vars_template": "变量模板: ",
"dialog_vars_template_result": "模板结果: ",
"dialog_vars_update_type": "取值方式: ",
"dialog_vars_update_dom": "取值DOM: ",
"dialog_vars_update_param": "取值参数: ",
Expand Down
5 changes: 5 additions & 0 deletions i18n/zh-tw.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@
"exec_succeed": "執行成功",
"exec_failed": "執行失敗",
"recorder_browser_opened": "錄制瀏覽器已開啓",
"recorder_browser_title": "錄制瀏覽器",
"checker_browser_opened": "校驗瀏覽器已開啓",
"checker_browser_title": "校驗瀏覽器",
"recorder_server_closed": "錄制服務器已關閉",
"recorder_browser_closed": "錄制瀏覽器已關閉",
"checker_browser_closed": "校驗瀏覽器已關閉",
Expand All @@ -34,6 +36,7 @@
"nocheck": "未經過校驗",
"recorder_server_listen_on": "錄制服務器監聽在端口: %s",
"chrome_init_failed": "Chrome打開失敗!",
"localhost_hosts_tip": "請嘗試添加 `127.0.0.1 localhost` 到您的hosts文件中!",
"mobile_open_first": "請先連接手機或打開模擬器。",
"mobile_open_failed": "手機打開失敗,請檢查macaca是否配置正確?",
"exec_succeed": " 執行成功",
Expand Down Expand Up @@ -85,6 +88,8 @@
"dialog_vars_name_empty": "變量名不能為空!",
"dialog_vars_name_duplicated": "變量名重復!",
"dialog_vars_value": "變量值: ",
"dialog_vars_template": "變量模板: ",
"dialog_vars_template_result": "模板結果: ",
"dialog_vars_update_type": "取值方式: ",
"dialog_vars_update_dom": "取值DOM: ",
"dialog_vars_update_param": "取值參數: ",
Expand Down
108 changes: 61 additions & 47 deletions lib/start.js
Original file line number Diff line number Diff line change
Expand Up @@ -1078,31 +1078,30 @@ function startRecorder(options){

function onReady(){
// recorder browser
setTimeout(function(){
newChromeBrowser({hosts: hosts, isRecorder: true, debug: debug}, function*(browser){
if(!mobile){
if(browserSize){
yield browser.windowSize(browserSize[0], browserSize[1]);
}
else{
yield browser.maximize();
}
newChromeBrowser({hosts: hosts, isRecorder: true, debug: debug}, function*(browser){
if(!mobile){
if(browserSize){
yield browser.windowSize(browserSize[0], browserSize[1]);
}
yield browser.url('chrome-extension://'+(debug?'dloihppejiolohmfmhdceaikmmfmmemf':'njkfhfdkecbpjlnfmminhmdcakopmcnc')+'/'+(mobile?'mobile':'start')+'.html');
console.log(__('recorder_browser_opened').green);
recorderBrowser = browser;
checkAllReady();
for(var i=0;i<900;i++){
if(recorderBrowser){
yield recorderBrowser.windowSize();
yield recorderBrowser.sleep(2000);
}
else{
break;
}
else{
yield browser.maximize();
}
});
}, 1000);
}
yield browser.url('chrome-extension://'+(debug?'dloihppejiolohmfmhdceaikmmfmmemf':'njkfhfdkecbpjlnfmminhmdcakopmcnc')+'/'+(mobile?'mobile':'start')+'.html');
yield browser.eval('document.title="'+__('recorder_browser_title')+' - UIRecorder"');
console.log(__('recorder_browser_opened').green);
recorderBrowser = browser;
checkAllReady();
for(var i=0;i<900;i++){
if(recorderBrowser){
yield recorderBrowser.windowSize();
yield recorderBrowser.sleep(2000);
}
else{
break;
}
}
});

if(mobile){
// init mobile
Expand All @@ -1122,29 +1121,32 @@ function startRecorder(options){
}
else if(openChecker){
// checker browser
newChromeBrowser({hosts: hosts, isRecorder: false, debug: debug}, function*(browser){
if(browserSize){
yield browser.windowSize(browserSize[0], browserSize[1]);
}
else{
yield browser.maximize();
}
console.log(__('checker_browser_opened').green);
console.log('');
console.log('------------------------------------------------------------------'.green);
console.log('');
checkerBrowser = browser;
checkAllReady();
for(var i=0;i<900;i++){
if(checkerBrowser){
yield checkerBrowser.windowSize();
yield checkerBrowser.sleep(2000);
setTimeout(function(){
newChromeBrowser({hosts: hosts, isRecorder: false, debug: debug}, function*(browser){
if(browserSize){
yield browser.windowSize(browserSize[0], browserSize[1]);
}
else{
break;
yield browser.maximize();
}
}
});
yield browser.eval('document.title="'+__('checker_browser_title')+' - UIRecorder";');
console.log(__('checker_browser_opened').green);
console.log('');
console.log('------------------------------------------------------------------'.green);
console.log('');
checkerBrowser = browser;
checkAllReady();
for(var i=0;i<900;i++){
if(checkerBrowser){
yield checkerBrowser.windowSize();
yield checkerBrowser.sleep(2000);
}
else{
break;
}
}
});
}, 1000);
}
}
function checkAllReady(){
Expand Down Expand Up @@ -1277,11 +1279,18 @@ function startRecorder(options){
saveTestFile();
console.log(__('recorder_server_closed').green);
console.log(__('recorder_browser_closed').green);
checkerBrowser && checkerBrowser.close(function(){
checkerBrowser = null;
console.log(__('checker_browser_closed').green);
if(checkerBrowser){
checkerBrowser.close(function(){
checkerBrowser = null;
console.log(__('checker_browser_closed').green);
chromedriver.stop();
process.exit();
});
}
else{
chromedriver.stop();
process.exit();
}) || process.exit();
}
});
}
var recorderConfig = {
Expand Down Expand Up @@ -1520,6 +1529,10 @@ function newChromeBrowser(options, callback){
if(error){
console.log(__('chrome_init_failed').red);
console.log(error);
if(/unable to connect to renderer/.test(error)){
console.log(__('localhost_hosts_tip').red);
}
chromedriver.stop();
process.exit(1);
}
else{
Expand Down Expand Up @@ -1589,6 +1602,7 @@ function newMobileApp(options, callback){
callback(this);
}).catch(function(e){
console.log(__('mobile_open_failed').red, e);
chromedriver.close();
process.exit(1);
});
}
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "uirecorder",
"version": "2.4.5",
"version": "2.4.6",
"description": "A tool for record ui test case",
"main": "./index",
"bin": {
Expand Down
6 changes: 3 additions & 3 deletions project/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
"mocha": "3.1.2",
"mocha-parallel-tests": "1.2.4",
"mochawesome-uirecorder": "1.5.20",
"selenium-standalone": "6.0.1"
"selenium-standalone": "6.1.0"
},
"devDependencies": {
},
"scripts": {
"installdriver": "./node_modules/.bin/selenium-standalone install --drivers.firefox.baseURL=http://npm.taobao.org/mirrors/geckodriver --baseURL=http://npm.taobao.org/mirrors/selenium --drivers.chrome.baseURL=http://npm.taobao.org/mirrors/chromedriver --drivers.ie.baseURL=http://npm.taobao.org/mirrors/selenium --drivers.chrome.version=2.28",
"server": "./node_modules/.bin/selenium-standalone start --drivers.chrome.version=2.28",
"installdriver": "./node_modules/.bin/selenium-standalone install --drivers.firefox.baseURL=http://npm.taobao.org/mirrors/geckodriver --baseURL=http://npm.taobao.org/mirrors/selenium --drivers.chrome.baseURL=http://npm.taobao.org/mirrors/chromedriver --drivers.ie.baseURL=http://npm.taobao.org/mirrors/selenium",
"server": "./node_modules/.bin/selenium-standalone start",
"test": "./node_modules/.bin/mocha \"*/**/*.spec.js\" --reporter mochawesome-uirecorder",
"singletest": "./node_modules/.bin/mocha --reporter mochawesome-uirecorder",
"paralleltest": "./node_modules/.bin/mocha-parallel-tests \"*/**/*.spec.js\" --reporter mochawesome-uirecorder --max-parallel 5"
Expand Down
Binary file modified tool/uirecorder.crx
Binary file not shown.

0 comments on commit 08e0269

Please sign in to comment.