Home
Documents
VIQA - Тестирование UI с помощью Виртуального интеллекта
1 49
100%
Actual Size
Fit Width
Fit Height
Fit Page
Automatic
V I Q A Virtual Intelligence Quality Assurance
VIQA - Тестирование UI с помощью Виртуального интеллекта
Upload
sqalab
View
612
Download
2
Embed Size (px)
344 x 292
429 x 357
514 x 422
599 x 487
DESCRIPTION
Доклад Романа Иовлева на SQA Days-15. 18-19 апреля, 2014, Москва. www.sqadays.com
Citation preview
1. V I Q A Virtual Intelligence Quality Assurance
2. QAAutomation Lead
3. V I Q A . Selenium UI - Yandex QA Tools Yandex QA Tool VIQA
Virtual Intelligence VIQA PageObjects
4. VIQA Virtual Intelligence Quality Assurance Tool .Net C#
Selenium 2.X PageObjects
https://github.com/Supreme85/VIQAUITestingTool
5. Web UI Like User Behavior Tests , .
6. Selenium? WebElement , , , html
7.
driver.FindElement(By.XPath(somelocator1")).SendKeys("1000");
driver.FindElement(By.XPath(somelocator2")).SendKeys("20000");
driver.FindElement(By.XPath(somelocator3")).Click();
driver.FindElement(By.XPath(somelocator4")).Click();
driver.FindElement(By.XPath(somelocator5").Click();
driver.FindElement(By.XPath(somelocator6")).Click();
driver.FindElement(By.XPath(somelocator7")).Click();
driver.FindElement(By.XPath(somelocator8")).Click();
driver.FindElement(By.XPath(somelocator9")).Click();
driver.FindElement(By.XPath(somelocator10")).Click();
8. Selenium Yandex QA Tool : Button, Checkbox, TextInput
PageObjects Blocks UI, ...
9.
10.
11. Yandex QA Tool TypifiedElement
12. V I Q A new Checkbox(My Checkbox") { ClickAction = () =>
MyElementForClick.Click(), GetLabelFunc = () =>
MyElementForLabel.Label, IsSelectedFunc = () =>
MyElementForClick.GetAttribute("checked") == "1", };
13. (Checkbox) IsChecked Label Click Check Uncheck
SetValue
14. V I Q A public interface ICheckbox : IClickable, ILabeled,
ISetValue { void Check(); void Uncheck(); bool IsChecked(); }
15. new DropDown("My Dropdown") { SelectAction = val => {
MySelectMainElement.Click();
MySelectListElement.WithName(val).Click(); } };
16. ,
17. Yandex QA Tool
18. V I Q A IVILogger VIAction
19.
20. new Site().Logger = MyLogger(); interface IWebLogger { void
Event (string msg); void Error (string msg) } }
21. VIAction VIElement.DefaultViAction = (viElement, text,
viAction) => { viElement.Logger.Event(Do action: + text);
viAction.Invoke(); }
22. VIAction new RadioButtons( , #sensorScreen) { VIAction =
(viElement, text, viAction) => { if
(!FirstSensorRadioButton.IsDisplayed) SensorBlock.Click();
viAction.Invoke(); } };
23. AI vs VI Artificial Intelligence Virtual Intelligence
24. 1 2 1 2
25. Yandex QA Tool PageObjects Block HtmlElement Block
26. V I Q A VISite VIPage VIElement VIElement
27. VISite WebDriver (, ) OpenPage/OpenHomePage
28. site.OpenHomePage(); { var _ = HomePage;
_.TextFieldFrom.Input("1000"); _.TextFieldTo.Input("2000");
_.MyCheckbox.Check(); _.MyRadioButtons.Select("");
_.SearchButton.Click(); }
Assert.IsNotNull(SearchPage.ExpectedElement.WaitWebElement());
29. VI- : Button, CheckBox, Link, TextArea, TextField,
Clickable, Text, ClickableText : CheckList, RadioButtons, Dropdown,
DataForm
30. Block vs ViElement
31. Yandex QA Tool [FindsBy(How = How. ClassName, Using =
my-checkbox")] public CheckBox MyCheckbox;
32. V I Q A [Name(Name = "Wi-fi"), Locate(ByXPath =
"//*[@class=my-checkbox']")] public ICheckbox MyCheckbox1 = new
Checkbox(); [Name(Name = "Wi-fi"), Locate(ByClassName =
my-checkbox")] public Checkbox MyCheckbox2; public ICheckbox
MyCheckbox3 = new Checkbox("Wi-fi", "#my-checkbox"); public
Checkbox MyCheckbox4 = new Checkbox("Wi-fi",
By.CssSelector("#my-checkbox"));
33. Fill Form ISetValue
34.
35. Selenium
driver.FindElement(Locators.FromTextField).SendKeys("1000");
driver.FindElement(Locators.ToTextField).SendKeys("20000");
driver.FindElement(Locators.WifiExpand).Click();
driver.FindElement(Locators.WifiCheckbox).Click();
driver.FindElement(Locators.SensorScrnExpand).Click();
driver.FindElement(Locators.SensorScrnRadio()).Click();
driver.FindElement(Locators.ProcessorExpand).Click();
driver.FindElement(Locators.ProcessorCheckbox(AppleA4)).Click();
driver.FindElement(Locators.ProcessorCheckbox(AppleA5)).Click();
driver.FindElement(Locators.ProcessorCheckbox(AppleA7)).Click();
36. VIQA { var _ = ProductPage.FilterSection;
_.TextFieldFrom.Input("1000"); _.TextFieldTo.Input("2000");
_.WiFiCheckbox.Check(); _.SensorScreenRadioButtons.Select("");
_.ProcessorTypesChecklist.CheckGroup( new[]{"Apple A5", "Apple A6",
"Apple A7"}); }
37. Fill Form
ProductPage.FilterSection.FillForm(MyProduct);
38. /
39. VI-: More : VIElements
40. Open KillAllRunWebDrivers
41. 2
42. . / VIElement- -
43. VIQA Profit PageObjects,
44. VIQA Profit ( , webDriver, )
45. Java
46. Email: [email protected] [email protected] GitHub
https://github.com/Supreme85/VIQAUITestingTool
http://vk.com/viqatools
LOAD MORE