1 / 28

Automatizuotas testavimas

Automatizuotas testavimas. TestComplete ir Selenium Parengė: Algirdas Mikoliūnas. Turinys. TestComplete Selenium Palyginimas. TestComplete. Automatizuoto testavimo aplinka skirta:

bonner
Download Presentation

Automatizuotas testavimas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automatizuotas testavimas TestComplete ir Selenium Parengė: Algirdas Mikoliūnas

  2. Turinys • TestComplete • Selenium • Palyginimas

  3. TestComplete • Automatizuoto testavimo aplinka skirta: • Windows, .NET, WPF, Visual C++, Visual Basic, Delphi, C++ Builder, Java, internetinėms aplikacijoms ir servisams; • Šiuo metu veikia tik su Windows operacinėmis sistemomis; • Palaikomi testavimo tipai: • Funkcinis testavimas; • Modulių (unit) testavimas (leidžia integruoti Nunit, Junit, Dunit, MSTest testus); • Apkrovimo testavimas; • Kliento / serverio (išskirstytas) testavimas; • Regresinis testavimas • Duomenimis grįstas testavimas.

  4. TestComplete / Projekto kūrimas • Projekto kūrimo metu reikia pasirinkti: • Kokio tipo programą testuosime: • Windows programą; • Internetinį puslapį; • Internetinius servisus; • Android aplikacijas; • Adobe AIR aplikacijas; • Kokią programavimo kalbą naudosime: • VBScript – sintaksė panaši į Visual Basic; • Jscript – sintaksė panaši į JAVA, C++, C#; • DelphiScript – sintaksė panaši į PASCAL;

  5. TestComplete / Funkciniai testai • Funkciniai testai gali būti sukurti dviem formomis: • Raktažodžiais (keywords); • Skriptais • Abiejų formų testai gali būti sukurti: • Įrašant veiksmų seką; • Sukuriant testą nuo pradžios (create from scratch).

  6. TestComplete / Testo kūrimas raktažodžiais

  7. TestComplete / Testo kūrimas raktažodžiais

  8. TestComplete / Testo kūrimas raktažodžiais

  9. TestComplete / Testo kūrimas raktažodžiais

  10. TestComplete / Testo kūrimas raktažodžiais

  11. TestComplete / Testo kūrimas skriptu function Test1(){var browser;var page;varpanel;varpasswordBox;Browsers.Item(btIExplorer).Run("http://test.aspx");  browser = Aliases.browser;  page = browser.pageWebOrdersLogin;page.Wait();  panel = page.formAspnetform.panelLogin; if (panel.usernameField.Value()== "")Log.Error("The username field is empty.");  panel.textboxCtl00MaincontentUsername.SetText("Tester");passwordBox = panel.passwordboxCtl00MaincontentPassw;passwordBox.Click();passwordBox.SetText("test");  panel.submitbuttonCtl00MaincontentLogi.Click();browser.pageWebOrders.Wait();}

  12. TestComplete / Objektų medis

  13. TestComplete / Vardų susiejimas

  14. TestComplete / Paleidimas iš konsolės TestComplete.exe [file_name [/run [(/project:project_name) | (/project:project_name /projectitem:item_name) | (/project:project_name /test:test_name) | (/project:project_name /unit:unit_name /routine:routine_name)] [/exit]] [/SilentMode [/ErrorLog:File_name]] [/ExportLog:File_name] [Timeout:Time_in_seconds] [/ForceConversion] [/ns]

  15. TestComplete / VisualStudio testų integracija

  16. TestComplete / VisualStudio integracija

  17. TestComplete / Papildomi įrankiai • QAComplete – testų paleidimo ir ataskaitų generavimo aplinka, integruojasi su JIRA, TFS; • LoadUI – apkrovimo testavimo aplinka; • SoapUI – internetinių servisų testavimo aplinka; • AlertSite – seka svetainės našumą realiu laiku, apie sveitainės neveikimą gali pranešti SMS žinute.

  18. Selenium • Automatizuoja testavimą naršykle; • Leidžia ne tik atlikti testus, tačiau ir automatizuoti kitas ranka daromas veiklas; • „Selenium IDE“ yra „Firefox“ plėtinys, leidžiantis įrašyti atliekamus veiksmus ir vėliau juos pakartoti automatiniu būdu; • „SeleniumWebDriver“ yra biblioteka, leidžianti programiniu būdu aprašyti testavimo veiksmus naršyklėje; • Palaiko testavimą keliose aplinkose vienu metu.

  19. Selenium IDE

  20. SeleniumWebDriver • Palaikomos programavimo kalbos: • Java,C#, Ruby, Python. • Sukurtos 3-jų šalių bibliotekos kalboms: • Perl, PHP, Haskell, Objective-C • Palaikomos naršyklių tvarkyklės: • ChromeDriver, InternetExplorerDriver, FirefoxDriver, OperaDriver, AndroidDriver, OperaMobileDriver, IPhoneDriver.

  21. SeleniumWebDriver • Pavyzdys: class PythonOrgSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_search_in_python_org(self): driver = self.driver driver.get("http://www.python.org") self.assertIn("Python", driver.title) def tearDown(self): self.driver.close() if __name__ == "__main__": unittest.main()

  22. Selenium / Veiksmų sekos • Paspaudimas; • Paspaudimas ir laikymas; • Atleidimas; • Dvigubas paspaudimas; • Nutempimas (drag&drop); • Pelės perstūmimas; • Klavišų įvesties įvedimas; • Pranešimų dialogų (alert) valdymas. • element = driver.find_element_by_id("passwd-id")element.send_keys("some text")

  23. Selenium / Įvykio laukimas • Elementas pažymėtas; • Elementą galima paspausti; • Elementas tapo nebematomas; • Tekstas elemente pasikeitė į nurodytą; • Puslapio pavadinimas pasikeitė į numatytąjį; • Elementas tapo matomas. wait = WebDriverWait(driver, 10) element = wait.until(EC.element_to_be_clickable((By.ID,'someid')))

  24. Selenium / Elementų pasiekimas • Pagal ID: element = driver.find_element_by_id("passwd-id") • Pagal vardą: element = driver.find_element_by_name("passwd") • Pagal Xpath užklausą: element = driver.find_element_by_xpath("//input[@id='passwd-id']") • Drag & drop: action_chains.drag_and_drop(element, target) • JavaScript kodo vykdymas: driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

  25. Nuotolinis Selenium panaudojimas • Paleidžiame serverį: • java -jar selenium-server-standalone-2.x.x.jar • 15:43:07.541 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub • Kode susikuriame nuotolinį WebDriver: driver = webdriver.Remote( command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=DesiredCapabilities.CHROME)

  26. Selenium panaudojimas python test_python_org_search.py ------------------------------------------------------------- Ran 1 test in 15.566s OK

  27. Palyginimas • TestComplete: • Kaina nuo 1999$, tačiau užtikrinama pagalba vartotojams; • Galimi bet kokie veiksmai operacinėje sistemoje; • Turi naudingų integruojamų įrankių; • Selenium: • Nemokamas; • Veikia kaip naršyklės plėtinys, negalimi veiksmai už naršyklės ribų.

More Related