カスタムコマンドの例を示します。直接追加するか、参考として使用してください。

From GXtest Wiki
Jump to: navigation, search

日付コントロールの値と現在の日付との比較

function CustomCommand (paramJS, currentGXVersion, currentLanguage){

       var day=((new Date().getDate()<10) ? "0" : "")+new Date().getDate(); 
       var month=(new Date().getMonth()+1<10) ? "0" +(new Date().getMonth()+1): new Date().getMonth()+1;
       var year=(((new Date().getFullYear())%100<10) ? "0":"") +(new Date().getFullYear())%100;
       var date_var =month.concat("/".concat(day.concat("/".concat(year))));
       if((paramJS==date_var)){
           result = "OK";
       }else{
           result = "Error, is not today";
       }  
   return result;
   }


画像が壊れていないか、また画像が読み込めるかどうかの確認

function CustomCommand (paramJS, currentGXVersion, currentLanguage) {

   result = "OK";
      for (var i = 0; i < window.document.images.length; i++) {
           if (!(window.document.images[i].complete)) {
              result = "ERROR, image with src:"+window.document.images[i].src+" not found";
           }
   
           if (typeof window.document.images[i].naturalWidth != "undefined" && window.document.images[i].naturalWidth == 0) {
              result = "ERROR, image with src:"+window.document.images[i].src+" not found";
           }
   
      }
   
      /* It must be returned in result variable the value "OK" if the command executed successufuly, or an error description in other case */
      return result;
   }

複数レベルの階層にあるカスタムメニューのクリック

paramJS の例:Vehicles/Cars/Sedan/1.0L


function CustomCommand (paramJS, currentGXVersion, currentLanguage) {

   result = "OK";
           var menuItems = paramJS.split('/');
           for (var menuOrder = 0; menuOrder < menuItems.length; menuOrder++) {
               var menuLevelName = 'menu_level'+(menuOrder+1).toString()+'_text';
               var elems = window.document.getElementsByClassName(menuLevelName);
               
                 for (var i = 0; i < elems.length; i++) {
                         var menuItem = elems[i];
                       if (menuItems.length == (menuOrder+1)){
                           menuItem = elems[i].childNodes[0];                
                       }
                       if (menuItem.innerHTML==menuItems[menuOrder]) {
                          menuItem.click();
                          break;
                       }
                 }         
              
           }    
      /* It must be returned in result variable the value "OK" if the command executed successufuly, or an error description in other case */
      return result;
   }