Googleの統合テストでは、Googleの場所のオートコンプリートの結果と対話するのに苦労しています。前のコードでGoogleプレイスのオートコンプリート結果のクリックをシミュレートするにはどうすればよいですか?
var placeSelector = '.pac-container .pac-item:first-child';
exports.runTest = function(test) {
casper.waitForSelector('input.street-address'); // wait for page to load
casper.sendKeys('input.street-address', 'fake address here', {keepFocus: true});
casper.waitUntilVisible(placeSelector);
casper.then(function() {
casper.click(placeSelector); // THIS DOES NOT DO ANYTHING
// if its possible to trigger the event in the context of the page, I
// could probably do so. However, I've scoured google's docs and cannot find the
// event that is fired when a place is clicked upon.
casper.evaluate(function() {
//google.maps.places.Autocomplete.event.trigger(???);
});
});
var formVal;
casper.then(function() {
formVal = casper.evaluate(function() {
return $('input.street-address').val();
});
});
};
、そこには結果がなく、入力が移入されていないも示唆結果が隠されています。
オートコンプリート入力にアドレスを入力して、提案された結果の1つをクリックする操作をシミュレートするにはどうすればよいですか?
私は同様の質問を渡って来ているいくつかの資源:
How to "simulate" a click on a Google Maps Marker?
https://developers.google.com/maps/documentation/javascript/events?csw=1#EventsOverview
完全なテストスクリプトを提供できますか?また、どのバージョンのPhantomJSを使用していますか? –
@ArtjomB。私はcasperjs 1.1.1を使用しています。私はPhantomJS 2.1.7を信じています。完全なテストスクリプトは、htmlページで、セレクタ 'input.street-address'で入力に初期化されたGoogleオートコンプリートとなります。 – Feek