Download pdf - Allure Framework

Transcript
  • 1. Allure Framework
  • 2. Artem Eroshenko eroshenkoam@
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. API
  • 8. Web-
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. - /company/yandex/blog/200364/
  • 14.
  • 15. Allure Framework
  • 16. Allure Framework
  • 17. Allure Framework
  • 18. Allure Framework
  • 19. Allure Framework xUnit
  • 20. xUnit
  • 21. xUnit TestSuite Class
  • 22. xUnit TestSuite Class TestCase Method
  • 23. xUnit ()
  • 24. HTML IMAGE JSON XML TXT OTHER
  • 25. () xUnit
  • 26.
  • 27.
  • 28.
  • 29. xUnit
  • 30.
  • 31. Allure Framework = + xUnit
  • 32. Allure
  • 33. Allure Model Allure Adaptor Allure Report Allure
  • 34. Allure Model Test Suite .xml xUnit
  • 35. ! ! xUnit Model
  • 36. Allure Model Test Suite .xml start/stop status test info xUnit severity
  • 37. ! Test Suite! ! ! Test Case! ! ! Allure Model
  • 38. Allure Model steps attachments Test Suite .xml start/stop status severity test info xUnit
  • 39. ! Test Case! ! ! ! ! ! ! Allure Model
  • 40. ! ! ! ! ! ! ! ! Allure Model
  • 41. ! ! ! ! ! ! ! ! Allure Model
  • 42. ! ! ! ! ! ! Allure Model
  • 43. Allure Framework = + xUnit
  • 44. Allure Adaptor jUnit pyUnit Karma Test Suite .xml
  • 45. Allure Adaptor jUnit pyUnit Karma jUnit Adaptor Test Suite .xml
  • 46. Allure Adaptor jUnit pyUnit Karma jUnit Adaptor pyUnit Adaptor Test Suite .xml
  • 47. Allure Adaptor jUnit pyUnit Karma jUnit Adaptor pyUnit Adaptor Karma Adaptor Test Suite .xml
  • 48. Allure Report Test Suite .xml Test Suite .xml Test Suite .xml
  • 49. Allure Report Test Suite .xml Test Suite .xml Test Suite .xml Report Data Generator Test Suite .json Test Suite .json Test Suite .json Run Status .json
  • 50. Allure Report Angular JS + Test Suite .json Test Suite .json Test Suite .json Run Status .json Report Face
  • 51. Allure jUnit jUnit Adaptor Test Suite .xml Data GEN Report
  • 52. Allure Model Allure Adaptor Allure Report Allure
  • 53. Allure In Action
  • 54. Allure Lifecycle Allure TestNG Allure jUnit Allure Java Adaptors
  • 55. Allure Lifecycle Allure.LIFECYCLE.fire(TestSuiteStarted);! Allure.LIFECYCLE.fire(TestCaseStarted);! Allure.LIFECYCLE.fire(StepStarted);! Allure.LIFECYCLE.fire(MakeAttach);! Allure.LIFECYCLE.fire(StepStarted);! Allure.LIFECYCLE.fire(StepFinished);! Allure.LIFECYCLE.fire(StepFinished);! Allure.LIFECYCLE.fire(TestCaseFinished);! Allure.LIFECYCLE.fire(TestSuiteFinished);
  • 56. Allure jUnit public class AllureRunListener ! extends RunListener{! ! @Override! public void testStarted () {! TestSuiteStartedEvent suiteStarted =! new TestSuiteStartedEvent();! getLifecycle().fire(suiteStarted);! }! ! } RunListener
  • 57. public class AllureTestListener ! implements ITestListener{! ! @Override! public void onTestStart () {! TestSuiteStartedEvent suiteStarted =! new TestSuiteStartedEvent();! getLifecycle().fire(suiteStarted);! }! ! } Allure testNG ITestListener
  • 58. Allure jUnit Example
  • 59. xUnit public void SearchTest {! @Test! public void searchResultsTest() {! ! }! }
  • 60. @Step! public void openMainPage () {! driver.get(http://yandex.ru);! }! ! @Step! public void searchBy (String key) {! driver.findElement(id(text))! .type(key);! driver.findElement(id(srch)).click();! }
  • 61. @Attach(type=AttachmentType.PNG)! public File makeScreenshot () {! driver.getScreenshotAs(OutputType.File)! }! @Step! public void checkResultHas(String text) {! // ! // , ! ! makeScreenShot(); ! }
  • 62. public void SearchTest {! @Test! public void searchResultsTest() {! openMainPage();! searchBy(Yandex);! checkResultsHas(Yandex);! }! }
  • 63. http://bit.ly/allure-reports
  • 64. Allure Python Adaptors Allure Lifecycle Allure pyTest
  • 65. Allure Report Builder Allure Maven Plugin Allure Jenkins Plugin
  • 66.
  • 67. ? https://github.com/allure-framework eroshenkoam@