Slide 1

Slide 1 text

Selenium + Sinon.js #template_literal_sushi #e2e_sushi

Slide 2

Slide 2 text

$('button').click(function() { navigator.geolocation.getCurrentPosition( function(res) { var lat = res.coords.latitude; var lon = res.coords.longitude; $('#pos').text(lat + ':' + lon); }); });

Slide 3

Slide 3 text

// stub.js sinon.stub(navigator.geolocation, 'getCurrentPosition') .callsArgWith(0, { coords: { latitude: 10, longitude: 20 } });

Slide 4

Slide 4 text

// sinon.jsͱstubͷεΫϦϓτΛ࣮ߦ driver.executeScript(fs.readFileSync('./sinon.js').toString()); driver.executeScript(fs.readFileSync('./stub.js').toString()); // ςετ࣮ߦ driver.findElement(By.css('button')).click(); driver.findElement(By.css('#pos')).getText().then(function(text) { assert(text === '10:20'); });

Slide 5

Slide 5 text

ଞʹ΋͜͏͍͏έʔεͰ࢖͑Δ͔΋ • खͰ࠶ݱͮ͠Β͍ҟৗܥͷ࠶ݱ • APIϨεϙϯεͷmockԽ

Slide 6

Slide 6 text

ͨͩ͠΍Γ͗͢Δͱ ࢮ͵ͷͰ஫ҙ