Automatizuotas testavimas
Download
1 / 28

Automatizuotas testavimas - PowerPoint PPT Presentation


  • 230 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Automatizuotas testavimas' - bonner


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Automatizuotas testavimas

Automatizuotas testavimas

TestComplete ir Selenium

Parengė: Algirdas Mikoliūnas


Turinys
Turinys

  • TestComplete

  • Selenium

  • Palyginimas


Testcomplete
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.


Testcomplete projekto k rimas
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;


Testcomplete funkciniai testai
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).







Testcomplete testo k rimas skriptu
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();}



Testcomplete vard susiejimas
TestComplete / Vardų susiejimas


Testcomplete paleidimas i konsol s
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]




Testcomplete papildomi rankiai
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.


Selenium
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.



Selenium webdriver
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.


Selenium webdriver1
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()


Selenium veiksm sekos
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")


Selenium vykio laukimas
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')))


Selenium element pasiekimas
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);")


Nuotolinis selenium panaudojimas
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)


Selenium panaudojimas
Selenium panaudojimas

python test_python_org_search.py

-------------------------------------------------------------

Ran 1 test in 15.566s

OK


Palyginimas
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ų.