Sahi не может запустить цикл for

#javascript #sahi

#javascript #sahi

Вопрос:

Я использую инструмент тестирования, вызывающий Sahi.

Итак, в основном я перенес один из моих файлов, Example.sah , с одного компьютера на другой компьютер. Когда я запускаю его на другом компьютере, он не может прочитать цикл for для приведенного ниже кода. Я изменил его на цикл while, и он тоже не работает. Однако приведенные ниже коды работали на моем предыдущем компьютере.

————————————КОДЫ—————————————-

 var $userinfo = _readExcelFile("C:/Work/Example.xls");
var $userinfo1 = _readExcelFile("C:/Work/CheckExample.xls");


var $i=0
for ($i  ; $i<$userinfo;){

    var $Id = $userinfo[$i][0];
    var $Int = $userinfo[$i][1];
    var $Int2 = $userinfo[$i][2];
    var $BigInt1 = $userinfo[$i][3];
    var $BigInt2 = $userinfo[$i][4];
    var $Double1 = $userinfo[$i][5];
    var $Double2 = $userinfo[$i][6];

    _click(_link("Edit"));
    _click(_link("New"));
    _setValue(_textbox("Title"), $Id);
    _setValue(_numberbox("TestInt001"), $Int);                                                                                                                                                                                                             
    _setValue(_numberbox("TestInt002"), $Int2);
    _setValue(_numberbox("TestBigint001"), $BigInt1);
    _setValue(_numberbox("TestBigint002"), $BigInt2);
    _setValue(_numberbox("TestDouble001"), $Double1);
    _setValue(_numberbox("TestDouble002"), $Double2);
    _click(_cell(0));
    _doubleClick(_cell(0));
    _click(_submit("Ok"));

    var $Idx = $userinfo1[$i][0];
    var $Intx = $userinfo1[$i][1];
    var $Int2x = $userinfo1[$i][2];
    var $BigInt1x = $userinfo1[$i][3];
    var $BigInt2x = $userinfo1[$i][4];
    var $Double1x = $userinfo1[$i][5];
    var $Double2x = $userinfo1[$i][6];


    _assertContainsText($Idx, _link($Id));
    _assertContainsText($Intx, _cell($Int));
    _assertContainsText($Int2x, _cell($Int2));
    _assertContainsText($BigInt1x, _cell($BigInt1));   
    _assertContainsText($BigInt2x, _cell($BigInt2));
    _assertEqual($Double1x, _getText(_cell($Double1)));
    _assertEqual($Double2x, _getText(_cell($Double2)));



}
  

—————————ВЫВОД———————————————-

——————- Остановленное воспроизведение: УСПЕХ——————-

Комментарии:

1. У вас есть файлы на втором компьютере в C:/Work/Example.xls и C:/Work/CheckExample.xls ?

2. Да, я перенес их оба на свой второй компьютер

3. Есть ли какая-либо ошибка, которую вы получаете? Ваш код показывает, что он прошел успешно. Попробуйте с небольшими вещами, проверьте, правильно ли читается файл или нет. Если да, то перейдите к циклу. Это стандартный цикл JS, поэтому он будет работать независимо от компьютера. Единственное, что я вижу здесь, это то, что пути к файлам различаются на обоих компьютерах, и, следовательно, файлы не включаются.

Ответ №1:

Я чувствую, что ваша ошибка находится в разделе ниже :

 var $i=0
for ($i  ; $i<$userinfo;){
  

Вы можете попробовать заменить его этим

 for ($var $i=0;$i<$userinfo;$i  ){