How to use toElementId method in Appium Xcuitest Driver

Best JavaScript code snippet using appium-xcuitest-driver

util.js

Source:util.js Github

copy

Full Screen

1/**2 * 返回上一页3 */4function back(){5 window.history.back();6}7function refresh(){8 window.location.reload();9}10$(document).ready(function() {11 if(window.history.length<2){12 $(".back").remove();13 }14});15/**16 * 批量显示或隐藏对象(有display属性的html元素都可使用)17 * @param objs 参数:id-none/block,多个用|分隔18 * @param displayValue 可不传值19 * 调用示例:20 * 1、displaySet('mortgageDiv-none|mortgageTypeDiv-block')21 * 2、displaySet('mortgageDiv|mortgageTypeDiv','none')22 */23function displaySet(objs,displayValue){24 displayValue = displayValue || 0;25 var objAry = objs.split('|');26 for(var i=0;i<objAry.length;i++){27 var obj = objAry[i].split('-');28 if(displayValue==0){29 $('#'+obj[0]+'').css('display',obj[1]);30 }else{31 $('#'+obj[0]+'').css('display',displayValue);32 }33 }34}35/**36 * 批量设置对象属性值37 * @param objs 参数:id-attrName-attrValue 或者 id-attrValue38 * @param attrName 属性名称,可不传值39 * 40 * 调用示例:41 * 1、设置同一属性的值 attrSet('guarantyOrganization-Require|pledgeSel-|creditSel-','dataType');42 * 2、单独指定每个对象的属性值 attrSet('guarantyOrganization-msg-不能为空|guarantyOrganization-dataType-Require|creditSel-dataType-');43 */44function attrSet(objs,attrName){45 attrName = attrName || 0;46 var objAry = objs.split('|');47 for(var i=0;i<objAry.length;i++){48 var obj = objAry[i].split('-');49 if(attrName==0){50 $('#'+obj[0]+'').attr(obj[1],obj[2]);51 }else{52 $('#'+obj[0]+'').attr(attrName,obj[1]);53 }54 }55}56/**57 * 清除首尾空格58 * @param obj 59 */60function forbidBlank(obj){61 obj.value = obj.value.replace(/(^\s*)|(\s*$)/g,"");62}63/**64 * 加载验证码65 * @param id66 * @param path67 */68function loadRandCodeImg(id,path){69 document.getElementById(id).src=path+'/random.jsp?'+Math.random();70}71function loadRandCodeImg1(id,path){72 document.getElementById(id).src=path+'/random.jsp?'+Math.random();73}74/**75 * 加载列表(参数依次是:页码,拼接页码前的url,点击的按钮id,加载到的大列表的id)76 */77function getFirstListData(version,realPath,urlStr,clickElementId,toElementId){78 var _load = layer.load('数据加载中..');79 $.ajax({80 url : urlStr+"/1",81 type : 'post',82 dataType : 'text',83 success : function(data){84 layer.close(_load);85 if(data==null||$.trim(data)==''){86 $('#'+toElementId).append("<div class='mx-none'><p><i class='iconfont'>&#xe604;</i></p><span>暂无数据</span></div><div style='height:4rem;'></div>");87 }else{88 $('#'+toElementId).append(data);89 $('#'+clickElementId).bind("click",{pageNum:2,urlStr:urlStr,clickElementId:clickElementId,toElementId:toElementId},addList);90 }91 },92 error : function(data) {93 layer.close(_load);94 layer.msg('网络连接异常,请刷新页面或稍后重试!', 1, 5);95 }96 });97}98/**99 * 加载列表(参数依次是:页码,拼接页码前的url,点击的按钮id,加载到的大列表的id)100 */101function addList(event){102 var _load = layer.load('数据加载中..');103 $.ajax({104 url : event.data.urlStr+"/"+event.data.pageNum,105 type : 'post',106 dataType : 'text',107 success : function(data){108 layer.close(_load);109 $('#'+event.data.clickElementId).remove();110 $('#'+event.data.toElementId).append(data);111 $('#'+event.data.clickElementId).bind("click",{pageNum:event.data.pageNum+1,urlStr:event.data.urlStr,clickElementId:event.data.clickElementId,toElementId:event.data.toElementId},addList);112 },113 error : function(data) {114 layer.close(_load);115 layer.msg('网络连接异常,请刷新页面或稍后重试!', 1, 5);116 }117 });118}119/**120 * 加载列表(参数依次是:页码,拼接页码前的url,点击的按钮id,加载到的大列表的id)121 */122function getMoreData(version,realPath,urlStr,clickElementId,toElementId,toShowElementId){123 var _load = layer.load('数据加载中..');124 $.ajax({125 url : urlStr+"/1",126 type : 'post',127 dataType : 'text',128 success : function(data){129 layer.close(_load);130 if(data==null||$.trim(data)==''){131 $('#'+toShowElementId).append("<div class='mx-none'><p><i class='iconfont'>&#xe604;</i></p><span>暂无数据</span></div><div style='height:4rem;'></div>");132 }else{133 $('#'+toElementId).append(data);134 $('#'+clickElementId).bind("click",{pageNum:2,urlStr:urlStr,clickElementId:clickElementId,toElementId:toElementId,toShowElementId:toShowElementId},addMoreList);135 }136 },137 error : function(data) {138 layer.close(_load);139 layer.msg('网络连接异常,请刷新页面或稍后重试!', 1, 5);140 }141 });142}143/**144 * 加载列表(参数依次是:页码,拼接页码前的url,点击的按钮id,加载到的大列表的id)145 */146function addMoreList(event){147 var _load = layer.load('数据加载中..');148 $.ajax({149 url : event.data.urlStr+"/"+event.data.pageNum,150 type : 'post',151 dataType : 'text',152 success : function(data){153 layer.close(_load);154 $('#'+event.data.clickElementId).remove();155 $('#'+event.data.toElementId).append(data);156 $('#'+event.data.clickElementId).bind("click",{pageNum:event.data.pageNum+1,urlStr:event.data.urlStr,clickElementId:event.data.clickElementId,toElementId:event.data.toElementId,toShowElementId:event.data.toShowElementId},addList);157 },158 error : function(data) {159 layer.close(_load);160 layer.msg('网络连接异常,请刷新页面或稍后重试!', 1, 5);161 }162 });163}164/**165 * 金额转换为大写166 * @param Num167 * @returns168 */169function numToChinese(Num) {170 for (i = Num.length - 1; i >= 0; i--) {171 Num = Num.replace(",", "");172 Num = Num.replace(" ", "");173 }174 Num = Num.replace("¥", "")175 if (isNaN(Num)) {176 layer.msg("金额格式不正确。", 2, 5);177 return;178 }179 part = String(Num).split(".");180 newchar = "";181 for (i = part[0].length - 1; i >= 0; i--) {182 tmpnewchar = ""183 perchar = part[0].charAt(i);184 switch (perchar) {185 case "0":186 tmpnewchar = "零" + tmpnewchar;187 break;188 case "1":189 tmpnewchar = "壹" + tmpnewchar;190 break;191 case "2":192 tmpnewchar = "贰" + tmpnewchar;193 break;194 case "3":195 tmpnewchar = "叁" + tmpnewchar;196 break;197 case "4":198 tmpnewchar = "肆" + tmpnewchar;199 break;200 case "5":201 tmpnewchar = "伍" + tmpnewchar;202 break;203 case "6":204 tmpnewchar = "陆" + tmpnewchar;205 break;206 case "7":207 tmpnewchar = "柒" + tmpnewchar;208 break;209 case "8":210 tmpnewchar = "捌" + tmpnewchar;211 break;212 case "9":213 tmpnewchar = "玖" + tmpnewchar;214 break;215 }216 switch (part[0].length - i - 1) {217 case 0:218 tmpnewchar = tmpnewchar + "元";219 break;220 case 1:221 if (perchar != 0)222 tmpnewchar = tmpnewchar + "拾";223 break;224 case 2:225 if (perchar != 0)226 tmpnewchar = tmpnewchar + "佰";227 break;228 case 3:229 if (perchar != 0)230 tmpnewchar = tmpnewchar + "仟";231 break;232 case 4:233 tmpnewchar = tmpnewchar + "万";234 break;235 case 5:236 if (perchar != 0)237 tmpnewchar = tmpnewchar + "拾";238 break;239 case 6:240 if (perchar != 0)241 tmpnewchar = tmpnewchar + "佰";242 break;243 case 7:244 if (perchar != 0)245 tmpnewchar = tmpnewchar + "仟";246 break;247 case 8:248 tmpnewchar = tmpnewchar + "亿";249 break;250 case 9:251 tmpnewchar = tmpnewchar + "拾";252 break;253 }254 newchar = tmpnewchar + newchar;255 }256 if (Num.indexOf(".") != -1) {257 if (part[1].length > 2) {258 part[1] = part[1].substr(0, 2)259 }260 for (i = 0; i < part[1].length; i++) {261 tmpnewchar = ""262 perchar = part[1].charAt(i)263 switch (perchar) {264 case "0":265 tmpnewchar = "零" + tmpnewchar;266 break;267 case "1":268 tmpnewchar = "壹" + tmpnewchar;269 break;270 case "2":271 tmpnewchar = "贰" + tmpnewchar;272 break;273 case "3":274 tmpnewchar = "叁" + tmpnewchar;275 break;276 case "4":277 tmpnewchar = "肆" + tmpnewchar;278 break;279 case "5":280 tmpnewchar = "伍" + tmpnewchar;281 break;282 case "6":283 tmpnewchar = "陆" + tmpnewchar;284 break;285 case "7":286 tmpnewchar = "柒" + tmpnewchar;287 break;288 case "8":289 tmpnewchar = "捌" + tmpnewchar;290 break;291 case "9":292 tmpnewchar = "玖" + tmpnewchar;293 break;294 }295 if (i == 0)296 tmpnewchar = tmpnewchar + "角";297 if (i == 1)298 tmpnewchar = tmpnewchar + "分";299 newchar = newchar + tmpnewchar;300 }301 }302 while (newchar.search("零零") != -1)303 newchar = newchar.replace("零零", "零");304 newchar = newchar.replace("零亿", "亿");305 newchar = newchar.replace("亿万", "亿");306 newchar = newchar.replace("零万", "万");307 newchar = newchar.replace("零元", "元");308 newchar = newchar.replace("零角", "");309 newchar = newchar.replace("零分", "");310 if (newchar.charAt(newchar.length - 1) == "元" || newchar.charAt(newchar.length - 1) == "角")311 newchar = newchar + "整";312 return newchar;313}314function downloadApp(path){315 /* 316 * 智能机浏览器版本信息: 317 */ 318 var browser={ 319 versions:function(){ 320 var u = navigator.userAgent, app = navigator.appVersion; 321 return {//移动终端浏览器版本信息 322 trident: u.indexOf('Trident') > -1, //IE内核 323 presto: u.indexOf('Presto') > -1, //opera内核 324 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 325 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 326 mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否为移动终端 327 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 328 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 329 iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQ HD浏览器 330 iPad: u.indexOf('iPad') > -1, //是否iPad 331 webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 332 }; 333 }(), 334 language:(navigator.browserLanguage || navigator.language).toLowerCase() 335 }; 336 if(browser.versions.ios){337 window.location.href="https://itunes.apple.com/us/app/id1086548123";338 }else if(browser.versions.android){339 window.location.href=path +"/images/download/android/zgz_v1.0.apk";340 }else{341 window.location.href=path +"/images/download/android/zgz_v1.0.apk";342 }343}344/**345 * 格式化金额346 * @param s347 * @param n348 * @returns {string}349 */350function fmoney(s, n)351{352 n = n > 0 && n <= 20 ? n : 2;353 s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";354 var l = s.split(".")[0].split("").reverse(),355 r = s.split(".")[1];356 t = "";357 for(i = 0; i < l.length; i ++ )358 {359 t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");360 }361 return t.split("").reverse().join("") + "." + r;...

Full Screen

Full Screen

myjs.js

Source:myjs.js Github

copy

Full Screen

1function bodyMargin(){2 document.getElementsByTagName("body").setAttribute("style","margin-top:"+document.getElementById('#fixed_header').offsetHeight+";"); 3}4function checkCookie(name) {5/* var nameEQ = name + "=";*/6// To print all cookies of current site7// var x= document.cookie;8// window.alert(x);9// To print all cookies of current site10 var ca = document.cookie.split('; '); // split(';'); --> will not work because after 1st cookie ; comes and then comes space so, 2nd cookie starts actually after space so split from there.11 for(var i=0;i < ca.length;i++) {12 var c = ca[i];13 var cnames = c.split('=');14 if(cnames[0] == name){15 return cnames[1];16 }17 }18 return null;19}20function validatePass(x){21 var pass = document.getElementById(x).value;22 if(pass.includes('"')){23 alert('Cant Use "(Double Inverted Commas) ');24 document.getElementById(x).value = "";25 }26}27function chk() {28 var mail = document.getElementById("txtMailId").value;29 if(validateMail(mail))30 {31 var cValue = checkCookie(mail);32 if(cValue != null)33 {34 var finalCValue = cValue.split('"');35 var a = finalCValue.length;36 if(a == 1){37 // Do Nothing38 }39 else{40 cValue = finalCValue[1];41 }42 if(cValue != null){43 document.getElementById("txtPassword").setAttribute("value",cValue);44 }45 }46 else if(cValue == null){47 document.getElementById("txtPassword").setAttribute("value","");48 }49 }50}51function confirmPass(){52 var pass= document.getElementById("pass").value;53 var pass1= document.getElementById("pass1").value;54 if(pass != pass1){55 alert("Password not same.");56 window.location.href="";57 }58}59function attachHref(appendingValueElementId,hrefTargetId,targetPage,targetAttributeToAppend){60 var mail = document.getElementById(appendingValueElementId).value;61 var tagetHref=targetPage+"?"+targetAttributeToAppend+"="+mail;62 document.getElementById(hrefTargetId).setAttribute("href",targetPage+"?"+targetAttributeToAppend+"="+mail);63}64function temp1(){65 var mail = document.getElementById("txtMailId").value;66 if(validateMail(mail))67 {68 document.getElementById("fp").setAttribute("href","MailServlet?txtEmailId="+mail);69 }70}71function removeStyle(x){72 document.getElementById(x).removeAttribute("style");73}74function borderBlue(){75 document.getElementById("remember").setAttribute("style","padding: 5px;");76}77function Shadow(){78 document.getElementById("submit").setAttribute("style","margin: 5px;");79}80function forgetPass(){81 document.getElementById("fp2").setAttribute("style","font-size: 20px; text-decoration:overline;");82}83function otpResend(){84 document.getElementById("otp").setAttribute("style","font-size: 20px; text-decoration:overline;");85}86function validateMobile(){87 var mobile = document.getElementById("txtMobile").value;88 var pmobile=/^[0-9]{1,10}$/;89 if(mobile.length!=10)90 {91 alert("Only 10 Digits");92 }93 if (!pmobile.test(mobile)) {94 alert("Phone nubmer is in 0123456789 format(Only Numbers)");95 return false;96 }97}98function validatePin(){99 var pin = document.getElementById("txtPin").value;100 var ppin=/^[0-9]{1,6}$/;101 if ( !ppin.test(pin) ) {102 alert("Pin code should be 6 digits ");103 return false;104 } 105}106function validateMail(){107 var mail = document.getElementById("txtMailId").value;108 var pmail=/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$/;109 if(mail.length == 0)110 {111 alert("Email is Required");112 return false;113 }114 else if (!pmail.test(mail)) {115 alert("Email must be thakkarbhumit.1@gmail.com format");116 return false;117 }118 else if(pmail.test(mail)){119 return true;120 }121}122function checkAndSign(){ /* from add_mall.jsp when mall name consists of & sign */123 var mallName = document.getElementById("txtMallName").value;124 var patt = /[&]/g;125 if(mallName.match(patt)){126 alert("No '&' Accepted, Instead use 'and'");127 }128}129function setValueTo(value,toElementId){130 document.getElementById(toElementId).value = value;131}132function setSpecialCaseValueFromTo(fromElementId,toElementId,fromElementId2,toElementId2){133 document.getElementById(toElementId).value = document.getElementById(fromElementId).innerHTML;134 document.getElementById(toElementId2).value = document.getElementById(fromElementId2).innerHTML;135}136function displayOn(toOnElementId){137 document.getElementById(toOnElementId).setAttribute("style","display:true;");138}139function displayOff(toOffElementId){140 document.getElementById(toOffElementId).setAttribute("style","display:none;");141 document.getElementById(toOffElementId).value=null;142}143function dropdown(){144 ...

Full Screen

Full Screen

extras-string.js

Source:extras-string.js Github

copy

Full Screen

1if( !String.prototype.trim ) {2 String.prototype.trim = function () {3 return this.replace(/^\s*/, '').replace(/\s*$/, '');4 };5}6if( !String.prototype.ltrim ) {7 String.prototype.ltrim=function() {return this.replace(/^\s+/, '');};8}9if( !String.prototype.rtrim ) {10 String.prototype.rtrim=function() {return this.replace(/\s+$/, '');};11}12String.prototype.fulltrim=function() {return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g, '').replace(/\s+/g, ' ');};13if( !String.prototype.camelize )14 String.prototype.camelize = function() {15 return this.replace(/_+(.)?/g, function(match, chr) {16 return chr ? chr.toUpperCase() : '';17 });18 };19if( !String.prototype.seperate )20 String.prototype.seperate = function() {21 return this.replace(/_+(.)?/g, function(match, chr) {22 return chr ? ' ' + chr.toUpperCase() : '';23 });24 };25if( !String.prototype.capitalize )26 String.prototype.capitalize = function() {27 return this.charAt(0).toUpperCase() + this.substring(1);28 };29if( !String.prototype.endInSlash )30 String.prototype.endInSlash = function() {31 var sStr = this;32 if( /\/$/.test(this) === false ) {33 sStr = this + '/';34 }35 return sStr;36 };37if( !String.prototype.endInBSlash )38 String.prototype.endInBSlash = function() {39 var sStr = this;40 if( /\$/.test(this) === false ) {41 /*sStr = this + '\\';*/42 }43 return sStr;44 };45if( !String.prototype.escapeCSV )46 String.prototype.escapeCSV = function() {47 var sStr = this;48 sStr = sStr.replace(/"/g, '\\"').replace(/\n/g, '');49 return sStr;50 };51if( !String.prototype.htmlEscape )52 String.prototype.htmlEscape = function() {53 return String(this)54 .replace(/&/g, '&amp;')55 .replace(/"/g, '&quot;')56 .replace(/'/g, '&#39;')57 .replace(/</g, '&lt;')58 .replace(/>/g, '&gt;');59 };60if( !String.prototype.htmlUnescape )61 String.prototype.htmlUnescape = function() {62 return String(this)63 .replace(/&quot;/g, '"')64 .replace(/&#39;/g, '\'')65 .replace(/&lt;/g, '<')66 .replace(/&gt;/g, '>')67 .replace(/&amp;/g, '&');68 };69if( !String.prototype.toElementId )70 String.prototype.toElementId = function() {71 return String(this).replace(/[!@$%&*()-=+~^.#' \n\t\f\r`"]+/g, '_');//this makes the id less unique, need a better way72 //Before html5 id's not supposed to start with a number? Might want to check for that.73 //jQuery has issues with . and : might want to replace that.74 //May also want to check on CSS restrictions75 };76if( !String.prototype.toElementIdForjQuery )77 String.prototype.toElementIdForjQuery = function() {78 return String(this).replace(/[~!@$%&*()-=+^#' \n\t\f\r:.`"]+/g, '_');79 //See notes from toElementID80 };81if( !String.prototype.supplant )82 String.prototype.supplant = function(o) {83 return this.replace(/{([^{}]*)}/g, function(a, b) {84 var r = o[b];85 return typeof r === 'string' ? r:a;86 });87 };88if( !String.prototype.mustache )89 String.prototype.mustache = function(o) {90 return this.replace(/{{([^{}]*)}}/g, function(a, b) {91 var r = o[b];92 return typeof r === 'string' || typeof r === 'number' ? r:a;93 });94 };...

Full Screen

Full Screen

ContactMenu.js

Source:ContactMenu.js Github

copy

Full Screen

1// @flow2// #region imports3import React, { PureComponent, SyntheticEvent } from 'react';4// import Router from 'next/router';5import Link from 'next/link';6import { withStyles } from 'material-ui/styles';7import { ListItem, ListItemIcon, ListItemText } from 'material-ui/List';8import MailOutlineIcon from 'material-ui-icons/MailOutline';9import Typography from 'material-ui/Typography';10import ArticleIcon from 'material-ui-icons/Subject';11import PressIcon from 'material-ui-icons/LocalSee';12import Divider from 'material-ui/Divider';13import ContactIcon from 'material-ui-icons/PermContactCalendar';14import styles from './styles';15// #endregion16// #region flow types17type Props = {18 // from withStyle HOC:19 classes: any,20 ...any,21};22type State = {23 ...any,24};25// #endregion26class ContactMenus extends PureComponent<Props, State> {27 // #region lifecycle methods28 render() {29 const { classes } = this.props;30 return (31 <div>32 <Typography33 className={classes.menuTitle}34 type="subheading"35 gutterBottom36 >37 Main menu (Contact)38 </Typography>39 {/* Contact */}40 <ListItem button onClick={this.scrollTo('')}>41 <ListItemIcon>42 <ContactIcon />43 </ListItemIcon>44 <ListItemText primary={'Contact'} />45 </ListItem>46 {/* Blog (blogSection) */}47 <ListItem button onClick={this.scrollTo('#blogSection')}>48 <ListItemIcon>49 <ArticleIcon />50 </ListItemIcon>51 <ListItemText primary={'Blog'} />52 </ListItem>53 {/* NewsLetter (newsletterSection) */}54 <ListItem button onClick={this.scrollTo('#newsletterSection')}>55 <ListItemIcon>56 <MailOutlineIcon />57 </ListItemIcon>58 <ListItemText primary={'NewsLetter'} />59 </ListItem>60 {/* Press (pressSection) */}61 <ListItem button onClick={this.scrollTo('#pressSection')}>62 <ListItemIcon>63 <PressIcon />64 </ListItemIcon>65 <ListItemText primary={'Press'} />66 </ListItem>67 <Divider />68 </div>69 );70 }71 // #endregion72 // #region on menu clicl : scroll to73 scrollTo = (toElementId: string = null) => (event: SyntheticEvent<>) => {74 if (event) {75 event.preventDefault();76 }77 if (!toElementId) {78 return;79 }80 // no target element = go top page81 if (!toElementId.length > 0) {82 window.scroll({ top: 0, left: 0, behavior: 'smooth' });83 }84 // otherwise smooth scroll to target element85 const startsWithSharp = toElementId.slice(0, 1) === '#';86 const queryEl = startsWithSharp ? toElementId : `#${toElementId}`;87 // using here "smooth scroll polyfill"88 document.querySelector(queryEl).scrollIntoView({89 behavior: 'smooth',90 });91 };92 // #endregion93}...

Full Screen

Full Screen

application.js

Source:application.js Github

copy

Full Screen

1var Ajax;2if (Ajax && (Ajax != null)) {3 Ajax.Responders.register({4 onCreate: function() {5 if($('spinner') && Ajax.activeRequestCount>0)6 Effect.Appear('spinner',{duration:0.5,queue:'end'});7 },8 onComplete: function() {9 if($('spinner') && Ajax.activeRequestCount==0)10 Effect.Fade('spinner',{duration:0.5,queue:'end'});11 }12 });13}14/**15 * move selected Options from one select box to another16 */17function moveSelectedOptions(fromElementId, toElementId)18{19 // finding objects20 var fromObj = document.getElementById(fromElementId);21 var toObj = document.getElementById(toElementId);22 var ret=false;23 // is this a select box24 if((fromObj && fromObj.type=="select-multiple")25 && (toObj&&toObj.type=="select-multiple")) {26 ret=true;27 }28 // 2 multiple select boxes found29 if(ret){30 //========================31 // moving selected options32 //========================33 // iterating all options from source select box34 for(var i=0;i<fromObj.options.length;i++){35 // is this a selected option36 if(fromObj.options[i].selected){37 // creating new option in target select box38 toObj.options[toObj.options.length] = new Option(fromObj.options[i].text39 ,fromObj.options[i].value);40 // delete current option41 fromObj.options[i] = null;42 i--;43 }44 }45 }46 return ret;47}48/**49 * move all Options from one select box to another50 */51function moveAllOptions(fromElementId, toElementId)52{53 var ret=false;54 ret=selectAllOptions(fromElementId);55 if (ret){56 ret=moveSelectedOptions(fromElementId, toElementId);57 }58 return ret;59}60/**61 * select all Options from one select box62 */63function selectAllOptions(selectId)64{65 // finding objects66 var selectObj = document.getElementById(selectId);67 var ret=false;68 // is this a select box69 if(selectObj != undefined && selectObj.type=="select-multiple"){70 ret=true;71 }72 if(ret) {73 for(var i=0;i<selectObj.options.length;i++){74 selectObj.options[i].selected = true;75 }76 }77 return ret;...

Full Screen

Full Screen

tabs.js

Source:tabs.js Github

copy

Full Screen

1 $(function(){2 var $window = $(window);3 $(window).on("load", function(){4 function getElementOffset(getElement){5 return $(getElement).offset().top;6 }7 8 var $tabs = $("#catalogElement .tabs");9 var $tabElements = $tabs.find(".tab");10 var $mainScrollObj = $("html, body");11 var arCoordinates = {};12 $tabElements.each(function(i, nextElement){13 var $nextElement = $(nextElement);14 if($nextElement.data("id")){15 arCoordinates[$nextElement.data("id")] = getElementOffset("#" + $nextElement.data("id"));16 }17 });18 var scrollToElement = function(event){19 var $this = $(this).parents(".tab");20 var toElementID = $this.data("id");21 if(toElementID){22 $tabElements.removeClass("active");23 $mainScrollObj.stop().animate({24 scrollTop: getElementOffset("#" + toElementID) + "px"25 }, 250);26 return event.preventDefault($this.addClass("active"));27 }28 };29 var calcCloseElement = function(coordinate){30 var copyCoordinate = [];31 $.each(arCoordinates, function(i, val) {32 if(coordinate <= val){33 copyCoordinate.push({34 id: i, value: val35 })36 }37 });38 copyCoordinate.sort(function(obj1, obj2) {39 if (obj1.value < obj2.value) return -1;40 if (obj1.value > obj2.value) return 1;41 return 0;42 });43 return copyCoordinate[0];44 };45 var scrollControl = function(event){46 var curScrollValueY = (event.currentTarget.scrollY) ? event.currentTarget.scrollY : $(window).scrollTop()47 var arCurrentTab = calcCloseElement(curScrollValueY);48 if(arCurrentTab != undefined){49 $tabElements.removeClass("active");50 $tabElements.filter('[data-id="' + arCurrentTab["id"] + '"]').addClass("active");51 }52 };53 $(document).on("click", "#elementNavigation .tab a, #elementSmallNavigation .tab a", scrollToElement);54 $(window).on("scroll", scrollControl);55 });...

Full Screen

Full Screen

selectors.js

Source:selectors.js Github

copy

Full Screen

1import { createSelector } from "reselect";2import { elementType } from "sideBar/operators/operatorsData";3import { getElementId } from "workbench/utils";4// These selectors add layout info to the graph queries and filters.5// The extra info are contained in operatorsExtraInfo obj.6// 1 is the id I'd given to queries and 2 is the one for filters.7const sessionInfoSelector = state => state.sessionReducer.sessionInfo;8export const getSessionInfo = createSelector(9 sessionInfoSelector,10 ({11 Graph: { Queries, InteractiveFilters, Connections, ...graphRest },12 ...sessionInfoRest13 }) => ({14 ...sessionInfoRest,15 Graph: {16 ...graphRest,17 Queries: Queries.map(18 ({ ElementId, Label, Columns, LayoutX, LayoutY, ...queryRest }) => ({19 type: elementType.QUERY,20 elementId: getElementId(ElementId),21 elementLabel: Label,22 columns: Columns,23 x: LayoutX,24 y: LayoutY,25 ...queryRest26 })27 ),28 InteractiveFilters: InteractiveFilters.map(29 ({30 ElementId,31 Label,32 FilterType,33 LayoutX,34 LayoutY,35 ...filterRest36 }) => ({37 type: elementType.FILTER,38 elementId: getElementId(ElementId),39 elementLabel: Label,40 filterType: FilterType,41 x: LayoutX,42 y: LayoutY,43 ...filterRest44 })45 ),46 Connections: Connections.map(47 ({ FromElementId, ToElementId, ...connectionRest }) => ({48 source: getElementId(FromElementId),49 target: getElementId(ToElementId),50 ...connectionRest51 })52 )53 }54 })...

Full Screen

Full Screen

backend.js

Source:backend.js Github

copy

Full Screen

1/**2 * Copy element text in clipboard3 *4 * @param {Object} element5 */6function copyInClipboard (element) {7 element.select();8 document.execCommand('copy');9}10/**11 * Copy value from input to another input12 *13 * @param {string} fromElementId14 * @param {string} toElementId15 * @param {boolean} normalize16 *17 * @returns {boolean}18 */19function copyValue (fromElementId, toElementId, normalize) {20 let toElement = document.getElementById(toElementId);21 let fromElement = document.getElementById(fromElementId);22 if (!toElement || !fromElement) {23 return false;24 }25 if (toElement.value) {26 return false;27 }28 fromElement.addEventListener('change', function () {29 let value = this.value;30 if (normalize) {31 value = removeAccents(value).toLowerCase().replace(/[\W_]+/g, '-');32 }33 toElement.value = value;34 });35 return true;36}37/**38 * Remove accents in string39 *40 * @param {string} str41 *42 * @returns {string}43 */44function removeAccents (str) {45 let map = {46 'a':'á|à|ã|â|À|Á|Ã|Â',47 'e':'é|è|ê|É|È|Ê',48 'i':'í|ì|î|Í|Ì|Î',49 'o':'ó|ò|ô|õ|Ó|Ò|Ô|Õ',50 'u':'ú|ù|û|ü|Ú|Ù|Û|Ü',51 'c':'ç|Ç',52 'n':'ñ|Ñ'53 };54 for (let pattern in map) {55 str = str.replace(new RegExp(map[pattern], 'g'), pattern);56 }57 return str;...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const {remote} = require('webdriverio');2(async () => {3 const browser = await remote({4 capabilities: {5 }6 });7 await browser.pause(5000);8 console.log(elementId);9 await browser.pause(5000);10 await browser.deleteSession();11})();12from appium import webdriver13desired_caps = {}14driver.implicitly_wait(5)15print(element_id)16driver.implicitly_wait(5)17driver.quit()

Full Screen

Using AI Code Generation

copy

Full Screen

1const { remote } = require('webdriverio');2async function main() {3 const browser = await remote({4 capabilities: {5 }6 });7 await browser.switchToFrame(0);8 await browser.$('input[name="q"]').setValue('Hello World!');9}10main();11const { remote } = require('webdriverio');12async function main() {13 const browser = await remote({14 capabilities: {15 }16 });17 await browser.switchToFrame(0);18 await browser.$('input[name="q"]').setValue('Hello World!');19}20main();21const { remote } = require('webdriverio');22async function main() {23 const browser = await remote({24 capabilities: {25 }26 });27 await browser.switchToFrame(0);28 await browser.$('input[name="q"]').setValue('Hello World!');29}30main();31const { remote } = require('webdriverio');32async function main() {33 const browser = await remote({

Full Screen

Using AI Code Generation

copy

Full Screen

1const { remote } = require('webdriverio');2async function main () {3 const browser = await remote({4 capabilities: {5 }6 });7 await browser.pause(5000);8 const element = await browser.$('~Buttons');9 await element.click();10 await browser.pause(2000);11 const element2 = await browser.$('~Back');12 await element2.click();13 await browser.pause(2000);14 const element3 = await browser.$('~UICatalog');15 await element3.click();16 await browser.pause(2000);17 const element4 = await browser.$('~Alerts');18 await element4.click();19 await browser.pause(2000);20 const element5 = await browser.$('~Text Entry');21 await element5.click();22 await browser.pause(2000);23 const element6 = await browser.$('~OK');24 await element6.click();25 await browser.pause(2000);26 const element7 = await browser.$('~Back');27 await element7.click();28 await browser.pause(2000);29 const element8 = await browser.$('~UICatalog');30 await element8.click();31 await browser.pause(2000);32 const element9 = await browser.$('~TextFields');33 await element9.click();34 await browser.pause(2000);35 const element10 = await browser.$('~Back');36 await element10.click();37 await browser.pause(2000);38 const element11 = await browser.$('~UICatalog');39 await element11.click();40 await browser.pause(2000);41 const element12 = await browser.$('~Activity Indicators');42 await element12.click();43 await browser.pause(2000);44 const element13 = await browser.$('~Gray');45 await element13.click();46 await browser.pause(2000);47 const element14 = await browser.$('~Back');48 await element14.click();49 await browser.pause(2000);

Full Screen

Using AI Code Generation

copy

Full Screen

1const { remote } = require('webdriverio');2const { XCUITestDriver } = require('appium-xcuitest-driver');3async function main() {4 const driver = new XCUITestDriver();5 await driver.createSession({6 capabilities: {

Full Screen

Using AI Code Generation

copy

Full Screen

1await driver.elementClick(elementId);2await driver.elementClick(elementIds[0]);3await driver.elementClick(element.ELEMENT);4await driver.elementClick(elements[0].ELEMENT);5await driver.elementClick(elementId);6await driver.elementClick(elementIds[0]);7await driver.elementClick(element.ELEMENT);8await driver.elementClick(elements[0].ELEMENT);9await driver.elementClick(elementId);10await driver.elementClick(elementIds[0]);11await driver.elementClick(element.ELEMENT);12await driver.elementClick(elements[0].ELEMENT);

Full Screen

Using AI Code Generation

copy

Full Screen

1driver.toElementId('elementId')2.then(function(elementId){3 console.log(elementId);4});5driver.toElementId('elementId')6.then(function(elementId){7 console.log(elementId);8});9driver.toElementId('elementId')10.then(function(elementId){11 console.log(elementId);12});13driver.toElementId('elementId')14.then(function(elementId){15 console.log(elementId);16});17driver.toElementId('elementId')18.then(function(elementId){19 console.log(elementId);20});21driver.toElementId('elementId')22.then(function(elementId){23 console.log(elementId);24});25driver.toElementId('elementId')26.then(function(elementId){27 console.log(elementId);28});29driver.toElementId('elementId')30.then(function(elementId){31 console.log(elementId);32});33driver.toElementId('elementId')34.then(function(elementId){35 console.log(elementId);36});37driver.toElementId('elementId')38.then(function(elementId){39 console.log(elementId);40});41driver.toElementId('elementId')42.then(function(elementId){43 console.log(elementId);44});45driver.toElementId('elementId')46.then(function(elementId){47 console.log(elementId);48});49driver.toElementId('elementId')50.then(function(elementId){51 console.log(elementId);52});53driver.toElementId('elementId')54.then(function(elementId){55 console.log(elementId);56});57driver.toElementId('elementId')58.then(function(element

Full Screen

Using AI Code Generation

copy

Full Screen

1const wd = require('wd');2const config = {3};4const driver = wd.promiseChainRemote(config);5const desiredCaps = {6};7(async function () {8 await driver.init(desiredCaps);9 await driver.sleep(5000);10 const elementId = await driver.elementByAccessibilityId('show alert').then(function (el) {11 return driver.toElementId(el);12 });13 const elementId2 = await driver.elementByAccessibilityId('show alert').then(function (el) {14 return driver.toElementId(el);15 });16 await driver.elementById(elementId).click();17 await driver.elementById(elementId2).click();18 await driver.sleep(5000);19 await driver.quit();20})();

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Appium Xcuitest Driver automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Sign up Free
_

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful