#javascript #protractor
#javascript #транспортир
Вопрос:
В следующем фрагменте кода:
element(by.id('myDiv'));
В element
этом источнике объявлено в строке 740. Но я не мог определить, где by
объявлено. Где объявлена эта переменная? Если это нигде не объявлено, как эта переменная разрешается?
Чтение источника, by
может быть, «локатор» и этот источник связаны с ним. Но я не мог видеть из этого источника никакого объявления by
переменной.
Комментарии:
1. Я думаю, здесь github.com/angular/protractor/blob/master/lib/protractor.js#L36 . И где-то кто-то это делает
var by = require(...).By
.2. 1. И где может быть этот источник?
3. Вы должны посмотреть в коде, где
element(by.id('myDiv'));
это.4. Это всего лишь пример кода, который я продолжаю рассматривать в качестве примера, и они используют его так, как если бы он уже был где-то объявлен.
5. Думаю, я нашел это. Это здесь: github.com/borisyankov/DefinitelyTyped/blob/master /…
Ответ №1:
by
определяется webdriver.js и расширен в транспортире с помощью специальных угловых локаторов , таких как by.model
.
Локаторы в webdriver.js определены в этом файле.
Здесь определено расширение в транспортире.