Webdriverio: ์ฃผ์–ด์ง„ ๊ฒ€์ƒ‰ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€์—์„œ ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 04์›” 14์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: webdriverio/webdriverio

๋ฌธ์ œ

๋‚˜๋Š” webdriverio ๋ชจ์นด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค
์š”์†Œ๋ฅผ ํด๋ฆญํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ํ•ญ์ƒ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค

์ฃผ์–ด์ง„ ๊ฒ€์ƒ‰ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€์—์„œ ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ

์„ธ๋ถ€

Selenium/WebdriverIO ๋กœ๊ทธ์— ๋Œ€ํ•œ ๋งํฌ

_full_ Selenium/WebdriverIO ๋กœ๊ทธ๋ฅผ ๋ถ™์—ฌ๋„ฃ์€ ์š”์ง€ ๋ฅผ ๋งŒ๋“ค๊ณ  ์—ฌ๊ธฐ์— ์—ฐ๊ฒฐํ•˜์„ธ์š”. ์ „์ฒด Appium ๋กœ๊ทธ๋ฅผ ์—ฌ๊ธฐ์— ๋ถ™์—ฌ๋„ฃ์ง€ _ํ•˜์ง€__ ๋งˆ์‹ญ์‹œ์˜ค. ์ด ๋ฌธ์ œ๊ฐ€ ๋งค์šฐ ๊ธธ๊ณ  ์ฝ๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ ํ•˜๋Š” ๊ฒฝ์šฐ Selenium/WebdriverIO ๋กœ๊ทธ๋ฅผ _ํ•ญ์ƒ_ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค!

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ์ฝ”๋“œ [ ์žˆ์œผ๋ฉด ์ข‹์€ ]

์ด๊ฒƒ์€ ๋‚˜์˜ ์‹œํ—˜์ด๋‹ค

describe ('FAFSA', function () {
    beforeEach(function() {
        browser.url('/');
    })
        it ('should look good', function () {
            browser.click("//*[@id='start']");
            browser.click("//*[@id='inner-content']/section/div/div/div[1]/div/a");



        });
    });

๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ํŽ˜์ด์ง€์˜ ์š”์†Œ์ž…๋‹ˆ๋‹ค

<div id="inner-content" ng-view="" class="right-panel ng-scope"><section class="page-block select-type ng-scope" ng-show="ready"><div class="select-type__wrapper"><div class="row"><div class="col-sm-6"><!-- ngIf: device === 'phone' --><!-- ngIf: device !== 'phone' --><div ng-if="device !== 'phone'" class="block ng-scope"><a ng-activate="" ng-click="startApplication('?json=true')" class="btn btn-answer first ng-scope ng-click-active"></div><!-- end ngIf: device !== 'phone' --></div><div class="col-sm-6"><!-- ngIf: device === 'phone' --><!-- ngIf: device !== 'phone' --><div ng-if="device !== 'phone'" class="block second ng-scope"><a ng-activate="" ng-click="startApplication('?parent-user=true&amp;json=true')" class="btn btn-answer ng-scope ng-click-active"></div><!-- end ngIf: device !== 'phone' --></div></div></div></section></div>

๋ชจ๋“  3 ๋Œ“๊ธ€

์„ ํƒ๊ธฐ๊ฐ€ ์š”์†Œ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„ ํƒ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ๋””๋ฒ„๊ทธํ•˜์—ฌ ์˜ˆ์ƒ ํŽ˜์ด์ง€์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๋˜ํ•œ ์šฐ๋ฆฌ์˜Gitter ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์งˆ๋ฌธ์— ๋Œ€ํ•ด. ์ด๊ฒƒ์€ ํ•„์š”ํ•œ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค

module.exports = ํ•จ์ˆ˜() {

this.Given(/^bct-test.ucdavis.edu$/๋ฅผ ๋ฐฉ๋ฌธํ–ˆ์Šต๋‹ˆ๋‹ค. function() {
browser.url('https://bct-test.ucdavis.edu/bct_nation/home.seam');
});
this.When(/^ ๋‚ด๊ฐ€ ์ฒดํ—˜ํŒ ์ฐพ์•„๋ณด๊ธฐ๋ฅผ ํด๋ฆญ$/, function() {
browser.click('#ํ™ˆ ์ฐพ์•„๋ณด๊ธฐ ๋ฒ„ํŠผ');
});
this.Then(/^I see All Trials$/, function() {
browser.screenshot('BrowseTrialsMetastaticLink.png');
});

this.When(/^I search All Trials for "([^"] )" or "([^"] )"$/, function (SearchTerm1, SearchTerm2) {
// ์œ„์˜ ๋ฌธ๊ตฌ๋ฅผ ๊ตฌ์ฒด์ ์ธ ๋™์ž‘์œผ๋กœ ๋ฐ”๊พธ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.
browser.setValue('์ž…๋ ฅ[๊ฒ€์ƒ‰_์ฟผ๋ฆฌ_์šฉ์–ด1="R"]', ๊ฒ€์ƒ‰์šฉ์–ด1);
browser.setValue('์ž…๋ ฅ[๊ฒ€์ƒ‰_์ฟผ๋ฆฌ_์šฉ์–ด2="O"]', ๊ฒ€์ƒ‰์šฉ์–ด2);
๋ธŒ๋ผ์šฐ์ €.ํด๋ฆญ(['๊ฒ€์ƒ‰์ด๋™']);
});

this.Then(/^I see All Trials for "Reproductive" and "Online"$/, function () {
var my_expected_text='์‹œํ—˜์— ํฌํ•จ๋จ';
var my_displayed_text = document.getElementsByClassName('ContentHeaderText');
๊ธฐ๋Œ€(my_displayed_text).toBe(my_expected_text);
});
}

์—๋Ÿฌ ๋ฉ”์‹œ์ง€:
[์นจํŒฌ์ง€] ๋‹ฌ๋ฆฌ๊ณ ...
๊ธฐ๋Šฅ: ๋ชจ๋“  ํ‰๊ฐ€ํŒ ๊ฒ€์ƒ‰

As a breast canceer patient
I want to search the All Trials on the web
So I can find information

์‹œ๋‚˜๋ฆฌ์˜ค: ์ƒ์‹ ๋˜๋Š” ์˜จ๋ผ์ธ ๊ฒ€์ƒ‰
โœ” bct-test.ucdavis.edu๋ฅผ ๋ฐฉ๋ฌธํ–ˆ์Œ์„ ๊ฐ์•ˆํ•  ๋•Œ
โœ– "Reproductive" ๋˜๋Š” "Online"์— ๋Œ€ํ•œ ๋ชจ๋“  ์‹œํ—˜์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ

  • ๊ทธ๋Ÿฐ ๋‹ค์Œ "Reproductive" ๋ฐ "Online"์— ๋Œ€ํ•œ ๋ชจ๋“  ํ‰๊ฐ€ํŒ์„ ๋ด…๋‹ˆ๋‹ค.

์‹คํŒจ:

1) ์‹œ๋‚˜๋ฆฌ์˜ค: ์ƒ์‹ ๋˜๋Š” ์˜จ๋ผ์ธ ๊ฒ€์ƒ‰ - ๊ธฐ๋Šฅ/๊ฒ€์ƒ‰ ์ „์ฒด ์‹œ๋„. ๊ธฐ๋Šฅ:7
๋‹จ๊ณ„: "Reproductive" ๋˜๋Š” "Online"์— ๋Œ€ํ•œ ๋ชจ๋“  ํ‰๊ฐ€ํŒ์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ - ๊ธฐ๋Šฅ/๊ฒ€์ƒ‰ ๋ชจ๋‘. ๊ธฐ๋Šฅ:9
๋‹จ๊ณ„ ์ •์˜: features/support/searchalltrials.js:13
๋ฉ”์„ธ์ง€:
์˜ค๋ฅ˜: ์ฃผ์–ด์ง„ ๊ฒ€์ƒ‰ ๋งค๊ฐœ๋ณ€์ˆ˜("input[Search_Query_Term1="R"]")๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€์—์„œ ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์›”๋“œ์—์„œ.(features/support/searchalltrials.js:15:13)
_combinedTickCallback์—์„œ (๋‚ด๋ถ€/ํ”„๋กœ์„ธ์Šค/next_tick.js:73:7)
process._tickDomainCallback์—์„œ (๋‚ด๋ถ€/ํ”„๋กœ์„ธ์Šค/next_tick.js:128:9)

์‹œ๋‚˜๋ฆฌ์˜ค 1๊ฐœ(1๊ฐœ ์‹คํŒจ)
3๋‹จ๊ณ„(1๊ฐœ ์‹คํŒจ, 1๊ฐœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ, 1๊ฐœ ํ†ต๊ณผ)
0m02.189s

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰