22
Testing Dojo

Testing dojo. Вступительная презентация

Embed Size (px)

Citation preview

Page 1: Testing dojo. Вступительная презентация

Testing Dojo

Page 2: Testing dojo. Вступительная презентация

Application

K1K2

K3

Page 3: Testing dojo. Вступительная презентация

...

Release 1

time30 min

Release 2 Release 6

Page 4: Testing dojo. Вступительная презентация

time30 min

test

com

mit

com

mit

test

test

com

mit

com

mit

test

Page 5: Testing dojo. Вступительная презентация

2 Tests passed

7 Tests passedK1

K2

K3

3 Tests faled 1 passed

Page 6: Testing dojo. Вступительная презентация

Начисление очков

Page 7: Testing dojo. Вступительная презентация

+10 (+8, + 6, +2) Найденная баг

-100 Assert.IsTrue(True)

0 Бага нет, тест есть

-10 Бага есть, тест зелёный

-10 Бага нет, тест красный

∑ -10 iterations

Каждый ненайденный баг

Page 8: Testing dojo. Вступительная презентация

2 1 3

Page 9: Testing dojo. Вступительная презентация

Tests naming

Page 10: Testing dojo. Вступительная презентация

class ReleaseX<TestClassName>Tests{

void Bug<BugName>

void <TestName>}

C#

Python def test_bugX_<bag_name>

def test_<test_name>

где X - версия продукта

Page 11: Testing dojo. Вступительная презентация

WebDriver

Page 12: Testing dojo. Вступительная презентация

click

send text

yes

no

click

chrome, ie, firefox,...

Page 13: Testing dojo. Вступительная презентация

Selenium 2.0 → 3.0

W3C working draft 2013

JsonWireProtocol

Page 14: Testing dojo. Вступительная презентация

Get element text (JSON Wire Example)

HTTP/1.1 200 OK

Content-Type: application/json;charset=UTF-8

Connection: close

{"sessionId":"Awesome", "status":0, "value":"Testing Dojo"}

GET http://127.0.0.1:9999/session/Awesome/element/2026335-1/text HTTP/1.1

...

Content-Type: application/json;charset=UTF-8

Connection: close

Accept: application/json

14

Page 15: Testing dojo. Вступительная презентация

∀ (С#, Python, Java...)

WebDriverclick

Json

Wire

Pro

toco

l

click

bindings

Page 16: Testing dojo. Вступительная презентация

driver.find_element_by_id('SetTextButton').click()

Поиск элемента

Page 17: Testing dojo. Вступительная презентация

driver.find_element_by_id('SetTextButton').click()

find_element_by_name

find_element_by_css_selector

find_element_by_xpath

find_element_by_class_name

Поиск элемента

Page 18: Testing dojo. Вступительная презентация

Как это работает в Desktop?

Page 19: Testing dojo. Вступительная презентация

Click

windows desktopapplication

Page 20: Testing dojo. Вступительная презентация

Winium.Desktop

Page 21: Testing dojo. Вступительная презентация

Cruciatusclick

Json

Wire

Pro

toco

l

click

Winium Driver

∀ (С#, Python, Java...)

bindings

Page 22: Testing dojo. Вступительная презентация

# put it in setUp

self.driver =

webdriver.Remote(command_executor='http://localhost:9999',

desired_capabilities={'app': 'C:\\testApp.exe'})

# put it in test method body

win = self.driver.find_element_by_id('WpfTestApplicationMainWindow')

win.find_element_by_id('SetTextButton').click()

assert 'CARAMBA' == self.driver.find_element_by_id('MyTextBox').text

Пример теста