├── .idea ├── .name ├── UIautocn.iml ├── encodings.xml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── Base ├── __init__.py ├── __pycache__ │ ├── BaseAndroidPhone.cpython-36.pyc │ ├── BaseElementEnmu.cpython-36.pyc │ ├── BaseOperate.cpython-36.pyc │ ├── BaseYaml.cpython-36.pyc │ ├── WebBaseElementEnmu.cpython-36.pyc │ ├── WebBaseOperate.cpython-36.pyc │ ├── WebBaseYaml.cpython-36.pyc │ └── __init__.cpython-36.pyc └── utils.py ├── Business ├── Android │ ├── __init__.py │ └── firstBusiness.py └── __init__.py ├── Handle ├── Android │ ├── __init__.py │ └── firstHandle.py └── __init__.py ├── Page ├── Android │ ├── __init__.py │ ├── basePage.py │ ├── firstPage.py │ └── homePage.py └── __init__.py ├── PageObject ├── Android │ ├── HomePage │ │ └── __pycache__ │ │ │ ├── BasePage.cpython-36.pyc │ │ │ └── __init__.cpython-36.pyc │ └── __pycache__ │ │ └── __init__.cpython-36.pyc ├── Web │ ├── HomePage │ │ └── __pycache__ │ │ │ ├── BasePage.cpython-36.pyc │ │ │ └── __init__.cpython-36.pyc │ └── __pycache__ │ │ └── __init__.cpython-36.pyc └── __pycache__ │ ├── Pages.cpython-36.pyc │ ├── WebPages.cpython-36.pyc │ └── __init__.cpython-36.pyc ├── README.md ├── __pycache__ ├── run.cpython-36.pyc ├── test_android.cpython-36-pytest-5.0.0.pyc └── test_android_contacts.cpython-36-pytest-5.0.0.pyc ├── chromedriver ├── report ├── app.js ├── data │ ├── behaviors.csv │ ├── behaviors.json │ ├── categories.csv │ ├── categories.json │ ├── packages.json │ ├── suites.csv │ ├── suites.json │ ├── test-cases │ │ ├── 15a6fe586012c9d0.json │ │ ├── 170a3035cde28e7b.json │ │ ├── 28ad489c24a44a6d.json │ │ ├── 4214466ee2cfe206.json │ │ ├── 627d1a6748cffb3a.json │ │ ├── 689367cb5a2085c8.json │ │ ├── 6c10fce025391e3c.json │ │ ├── 87bf4c41039f1cc4.json │ │ ├── 8f4da5e50bcafd58.json │ │ ├── 93a84d0a81b90e35.json │ │ ├── 94350198fb1d4ffd.json │ │ ├── 9791996cbd506c31.json │ │ ├── a3b1e8730646802c.json │ │ ├── a46ab0fcd1e4e1e8.json │ │ └── f776ed5fcdbff14c.json │ └── timeline.json ├── export │ ├── influxDbData.txt │ ├── mail.html │ └── prometheusData.txt ├── favicon.ico ├── history │ ├── categories-trend.json │ ├── duration-trend.json │ ├── history-trend.json │ ├── history.json │ └── retry-trend.json ├── index.html ├── plugins │ ├── behaviors │ │ └── index.js │ ├── packages │ │ └── index.js │ └── screen-diff │ │ ├── index.js │ │ └── styles.css ├── styles.css └── widgets │ ├── behaviors.json │ ├── categories-trend.json │ ├── categories.json │ ├── duration-trend.json │ ├── duration.json │ ├── environment.json │ ├── executors.json │ ├── history-trend.json │ ├── launch.json │ ├── retry-trend.json │ ├── severity.json │ ├── status-chart.json │ ├── suites.json │ └── summary.json ├── requirement.txt ├── run.py ├── run_android.py ├── run_iOS.py ├── tests ├── android_test_case │ ├── 105.apk │ ├── __pycache__ │ │ ├── conftest.cpython-36-pytest-5.0.0.pyc │ │ └── test_android_contacts.cpython-36-pytest-5.0.0.pyc │ ├── conftest.py │ └── test_android_first.py ├── iOS_test_case │ ├── 3.5.1.ipa │ ├── conftest.py │ └── test_iOS_ad.py └── test_case │ └── __pycache__ │ ├── conftest.cpython-36-pytest-5.0.0.pyc │ ├── test_pytest.cpython-36-pytest-5.0.0.pyc │ └── test_pytest2.cpython-36-pytest-5.0.0.pyc └── tmp ├── my_allure_results ├── 01daa194-78ab-4b7a-9be7-6ad4cfaaf980-result.json ├── 04895538-879c-4fff-b8f9-b57a1702403d-result.json ├── 0a8ab6b4-a140-404d-8002-6adb33bd9828-result.json ├── 0bed024b-4b59-452d-b25d-a909d5447d71-container.json ├── 0d202f92-bb7e-4fd1-bb22-a854dac186fa-result.json ├── 0dcdd16a-94c6-4447-bca9-4e3456147c8d-attachment.txt ├── 105e217a-71a7-4e5b-bbad-6d19892e92b7-result.json ├── 11350dbb-8e21-4bf5-aa05-32d0746d71d5-result.json ├── 11b54e82-3bd5-480a-8448-d96f4337a094-container.json ├── 159bf135-f86f-4f37-9518-09ed10d72cb3-container.json ├── 19b16404-a091-4cd0-8c5c-608be21fb189-result.json ├── 19d5bbc3-cff4-438d-87a0-2c6fea7db29f-result.json ├── 1d056628-e7cb-4cf6-b116-a84a3e09bcdd-container.json ├── 1ecc8e37-7692-433c-ba89-682606d6974a-attachment.txt ├── 21f344e8-c3c4-42a5-bcfc-22a02ec6e635-result.json ├── 225267da-e0a5-41f3-a8b5-e52d0663bfd8-container.json ├── 22995797-c898-4e8d-89e0-295c79a39b47-result.json ├── 24e8c1a4-b8e7-4d7e-b770-ef17574abe3f-container.json ├── 276fb86f-1936-411a-9e74-f316047ca34f-container.json ├── 28d637cb-9bc9-427f-b15b-3e382a899947-container.json ├── 29a75476-89a9-43a6-b338-febc70a18245-result.json ├── 2a49004d-7989-45b1-b6fc-3de07c6285a4-result.json ├── 2e82ed9e-f0e2-447b-bb89-13eaff8efe82-attachment.txt ├── 30b0454b-16bd-436f-a788-df6ce9bf723c-attachment.txt ├── 314d57b4-8603-4a5b-9b90-2650a1f0ac79-container.json ├── 32b931ff-ade7-4cef-a75d-6139871793f8-attachment.txt ├── 32de1654-52ef-45db-bd96-a8b5da8dedbe-result.json ├── 33e15e08-d7ca-4e91-ac4e-0f0b0b7d445a-result.json ├── 3477f569-5b42-4e72-b053-e74599b5259f-result.json ├── 3762fa30-0605-42bf-8faa-56da3b9886e5-container.json ├── 37fc0b56-922d-4f9b-b6a0-b639a4380884-result.json ├── 38183527-31b3-4a9d-a82e-ce0e6e07de55-result.json ├── 3af551f0-a952-410a-a56d-cfe368361ce5-container.json ├── 4224802b-b8cb-4942-abf2-9b83a0290062-result.json ├── 441dcc11-1336-489a-851f-19cf60a4356c-result.json ├── 4c159a8e-647a-4917-864d-4352b3bcd6cc-attachment.txt ├── 4f3bb287-edf1-4da0-8fe2-69d1868366c5-result.json ├── 4fcfa945-300e-4d37-8be3-1bc98922256a-attachment.txt ├── 5231e803-4f98-46da-b148-1302dbbf58b3-container.json ├── 562851af-6d56-42ba-9e7e-1e1e33544005-container.json ├── 5642036c-9d06-4eb3-b5cf-c4087721ab5b-result.json ├── 5a47d341-1fe4-49d7-abd4-05b6c524ac2d-attachment.txt ├── 5a80c6ee-d37b-4b74-a70b-28098ade9268-result.json ├── 5d7236c5-74b6-42fc-a9b2-6ff782aea97e-result.json ├── 5dc3c954-67ef-4ee4-8354-98091b83e702-attachment.txt ├── 5f2e257a-46e4-4f0e-978d-4550827bbf4f-result.json ├── 610e6fd0-b77c-466b-8e4c-cc937dd753cc-container.json ├── 641a0714-b0d7-4ae9-bd5c-bd01e027f081-attachment.txt ├── 645d7ff8-b582-4baf-9fe2-df31a57248e6-result.json ├── 650abe87-c617-4bbd-abf9-6180a4dc8068-container.json ├── 692cb9ef-9470-41d3-920a-28e90d8aa47d-attachment.txt ├── 70a48deb-3628-4f27-b07b-f4cc2ff57588-attachment.txt ├── 72d929f2-9642-4d0d-bdaa-ee967a5c0d54-attachment.txt ├── 74b753d4-6e3d-4830-89fe-19309b7b1f07-result.json ├── 77dc044e-8d4d-40b6-805a-3e2101d5785a-result.json ├── 7824191a-d6ae-42bb-a0e5-73b4fed2f42a-result.json ├── 79be7ba3-58f5-487c-8090-0999ac36219f-result.json ├── 7bfe4281-851d-48cf-bcf5-eccd45abdf22-container.json ├── 7cb4f7ae-201b-4cad-a761-3724df8864ad-container.json ├── 7ea8d53f-5fcc-4ffe-b741-612e809a66d5-result.json ├── 80e1803d-0043-4511-9e28-d2d98bc15773-attachment.txt ├── 834cea43-bb5a-4d63-bedd-6317c469b6b1-result.json ├── 83c76db6-4afb-4f77-9919-97667ab056f3-container.json ├── 846fff4d-7356-47e4-ab45-7e636cbcf108-attachment.txt ├── 84f3763d-fb40-4753-a0fe-c500c14d3d19-result.json ├── 873f64fa-a11e-4c50-85d1-beb663008382-container.json ├── 88100e9f-b01b-44b1-8e30-be32b09cbb0d-container.json ├── 8a5960a9-cb88-4cab-a9d4-b120a7339f47-result.json ├── 93d94442-3909-4fca-93a6-5f09e999c6bd-container.json ├── 97915e9b-7804-41f4-a493-08e65a1f6aec-attachment.txt ├── 97d7626a-c136-4b91-a525-a8b9ea18df0d-container.json ├── 98d28ccc-f7dc-4886-867a-ac95f4609ebb-result.json ├── 99f4d92a-8b35-4790-a892-95120790041b-container.json ├── a0adf64b-1432-4d5a-b17b-092221b6475b-result.json ├── a92b74db-b558-4af6-bc20-28d849cd4273-container.json ├── a953c1f5-1301-41dd-b607-3a7968f58a31-result.json ├── aab154d2-76b2-4209-9bb8-1919de6859ac-result.json ├── b27b6540-4252-4a1e-80c6-73289a1c888b-result.json ├── b42941e8-b76c-463b-b5ee-f8ecda211f30-attachment.txt ├── b5433475-fb15-459e-b674-afffd85eecd0-result.json ├── b54d9f7f-347c-4a49-bda8-22bd26940eaf-result.json ├── b8d7d475-7026-4b2d-a3bd-7b1cc03987da-container.json ├── bc82b441-1f90-41e5-bc4a-53671b7dfe99-result.json ├── bcd52f4b-d813-48be-a072-36e389412382-container.json ├── bd1d2516-8e6b-4732-898d-872f5f488b5f-container.json ├── bf5923e6-6a36-44af-90ca-f56a068e8e8d-container.json ├── bf675621-0857-4901-a18b-735b3e33c0da-result.json ├── c0b4c267-e962-46e7-b474-6b20899c6f97-result.json ├── c0fc7cef-65a9-4816-82e7-36dd96829afb-result.json ├── c270b808-3e70-4971-ae5e-0a428484ff7e-attachment.txt ├── c29eb3b1-8c85-4f23-8d38-e6131b8b85db-container.json ├── c59edb3b-307b-4c32-b4bd-e72a0d09f5b1-result.json ├── c5eb3227-cc50-49d7-8e7b-acaf525cd6bd-attachment.txt ├── c642a034-38a0-43a5-a201-bfd9e13d4340-attachment.txt ├── c6722185-f5dc-4463-9089-e4eb849aeb29-result.json ├── ca33237d-ff3e-4e1e-bf58-f98ef08514f5-result.json ├── cbb9fe0f-b95d-4954-bbc2-33450a042e67-attachment.txt ├── cd244e52-6231-4910-9a82-173d91559703-result.json ├── ce8881ca-a629-47f1-936a-8ea148ae8eff-result.json ├── cf4bb460-b9f0-4bb6-9cc1-0d054ccd4727-container.json ├── d3db0f7d-ac93-48c2-8066-138f9ae830b8-result.json ├── d6531e26-e20c-474d-bdf3-3077201955ad-container.json ├── d99fefa8-b5fe-49de-8051-7df8e3b3bfcb-attachment.txt ├── e02553fb-db22-4749-a0da-fb2b5fb48c88-result.json ├── e0ffc24a-027e-45ab-9c74-2ad1ba24439b-result.json ├── e138937b-60af-48b9-a905-e079e5f53e52-attachment.txt ├── e5fa3411-8a0c-46d6-be59-dfa2b994ed2b-attachment.txt ├── e833dd5d-978c-4a95-a492-a9bbc8177cb0-container.json ├── edc09225-c462-4551-8177-97de7f0429fa-container.json ├── ef6596f1-ad7a-4f1d-b8d1-02426fde12cf-result.json ├── ef9af5b0-92d0-4ebc-b296-cfbde0681488-container.json ├── f0b2247a-4bcd-4f9c-ac4b-9f4efac1e4d1-attachment.txt ├── f1660b7a-b07d-4c8d-bb8b-c30e4db4e787-container.json ├── f2e8a26f-bb13-4ba5-b96c-bfee5f6ea55d-result.json ├── f2f3b32c-073d-4314-839e-b1abb75ddb7f-result.json ├── f919ad4a-1674-4837-9a13-248b54cb48cc-container.json └── fe98c0d2-16f4-4500-a319-e44abc3754f7-attachment.txt └── usedCar_screenshot ├── exp_list_banner1.png ├── exp_mid_banner1.png ├── exp_mid_banner2.png ├── exp_topBanner_1.png ├── exp_topBanner_2.png ├── exp_topBanner_3.png ├── exp_topBanner_4.png ├── exp_topBanner_5.png ├── exp_topBanner_6.png ├── list_banner1.png ├── mid_banner1.png ├── mid_banner2.png ├── temp_screen8.png ├── temp_screen9.png ├── top_banner1.png ├── top_banner2.png ├── top_banner3.png └── top_banner4.png /.idea/.name: -------------------------------------------------------------------------------- 1 | UIautocn -------------------------------------------------------------------------------- /.idea/UIautocn.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | CSS 12 | 13 | 14 | Code quality toolsJavaScript 15 | 16 | 17 | Code style issuesJavaScript 18 | 19 | 20 | CoffeeScript 21 | 22 | 23 | Control flow issuesJavaScript 24 | 25 | 26 | DOM issuesJavaScript 27 | 28 | 29 | Data flow issuesJavaScript 30 | 31 | 32 | Django 33 | 34 | 35 | Error handlingJavaScript 36 | 37 | 38 | General 39 | 40 | 41 | GeneralJavaScript 42 | 43 | 44 | HAML 45 | 46 | 47 | HTML 48 | 49 | 50 | Ini Files 51 | 52 | 53 | Internationalization issues 54 | 55 | 56 | Invalid elementsCSS 57 | 58 | 59 | JSON 60 | 61 | 62 | JavaScript 63 | 64 | 65 | JavaScript validity issuesJavaScript 66 | 67 | 68 | Potentially confusing code constructsJavaScript 69 | 70 | 71 | Probable bugsCSS 72 | 73 | 74 | Probable bugsCoffeeScript 75 | 76 | 77 | Probable bugsJavaScript 78 | 79 | 80 | Python 81 | 82 | 83 | SQL 84 | 85 | 86 | Spelling 87 | 88 | 89 | TypeScript 90 | 91 | 92 | XML 93 | 94 | 95 | 96 | 97 | Buildout 98 | 99 | 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Base/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__init__.py -------------------------------------------------------------------------------- /Base/__pycache__/BaseAndroidPhone.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__pycache__/BaseAndroidPhone.cpython-36.pyc -------------------------------------------------------------------------------- /Base/__pycache__/BaseElementEnmu.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__pycache__/BaseElementEnmu.cpython-36.pyc -------------------------------------------------------------------------------- /Base/__pycache__/BaseOperate.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__pycache__/BaseOperate.cpython-36.pyc -------------------------------------------------------------------------------- /Base/__pycache__/BaseYaml.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__pycache__/BaseYaml.cpython-36.pyc -------------------------------------------------------------------------------- /Base/__pycache__/WebBaseElementEnmu.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__pycache__/WebBaseElementEnmu.cpython-36.pyc -------------------------------------------------------------------------------- /Base/__pycache__/WebBaseOperate.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__pycache__/WebBaseOperate.cpython-36.pyc -------------------------------------------------------------------------------- /Base/__pycache__/WebBaseYaml.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__pycache__/WebBaseYaml.cpython-36.pyc -------------------------------------------------------------------------------- /Base/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Base/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /Business/Android/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Business/Android/__init__.py -------------------------------------------------------------------------------- /Business/Android/firstBusiness.py: -------------------------------------------------------------------------------- 1 | from Handle.Android.firstHandle import FirstHandle 2 | from Page.Android.firstPage import FirstPage 3 | 4 | from Handle.Android.listHandle import ListHandle 5 | 6 | from Business.Android.loginBusiness import LoginBusiness 7 | from Base import utils 8 | from time import sleep 9 | from run import PATH 10 | 11 | 12 | class FirstBusiness: 13 | def __init__(self, driver): 14 | self.first_handle = FirstHandle(driver) 15 | self.list_handle = ListHandle(driver) 16 | self.first_page = FirstPage(driver) 17 | self.driver = driver 18 | 19 | def close_mask(self): 20 | self.first_handle.close_mask() 21 | return self 22 | 23 | def check_online_topbanner(self): 24 | return self.first_handle.check_top_ad_displayed() 25 | 26 | def check_online_listbanner(self): 27 | self.first_handle.click_audi_topdealer() \ 28 | .click_select_topdealer() 29 | return self.list_handle.check_ad_displayed() 30 | 31 | def check_online_midbanner(self): 32 | self.first_handle.click_buttom_firstPage() 33 | utils.new_swipe_up(self.driver, y_pecent=0.6) 34 | return self.first_handle.check_mid_displayed() 35 | 36 | def check_topbanner(self): 37 | elementPath = "com.addcn.car8891:id/ad_default_view" 38 | result = [] 39 | templateimage = utils.newGetExpUsedCarTopBanner() 40 | list_temp = utils.newGetUsedCarTopBanner() 41 | 42 | for i in list_temp: 43 | utils.get_screenshot_picture(self.driver, i, elementPath) 44 | result.append(utils.match(i, templateimage)) 45 | sleep(7) 46 | return result 47 | 48 | def check_listbanner(self): 49 | self.first_handle.click_audi_topdealer() \ 50 | .click_select_topdealer() 51 | 52 | TEMP_FILE = utils.getBanner('listBanner') 53 | elementPath = "com.addcn.car8891:id/image_ad" 54 | utils.getElementImgHashById(self.driver, TEMP_FILE, elementPath) 55 | 56 | img = utils.getExpBanner("listBanner") 57 | result = utils.match(TEMP_FILE, img) 58 | 59 | return [result] 60 | 61 | def check_midbanner(self): 62 | self.first_handle.click_buttom_firstPage() 63 | result = [] 64 | templateimage = utils.newgetusedCarMidBanner() 65 | utils.swipe_up(self.driver, x_pecent=0.5) 66 | sleep(1) 67 | utils.swipe_up(self.driver, x_pecent=0.5) 68 | sleep(1) 69 | # todo swipe不穩定,需要優化為Scroll to 70 | 71 | mid_banner = PATH("./tmp/usedCar_screenshot/mid_banner1.png") 72 | elementPath = "com.addcn.car8891:id/ad_default_view" 73 | utils.get_screenshot_picture(self.driver, mid_banner, elementPath) 74 | result.append(utils.match(mid_banner, templateimage)) 75 | return result 76 | 77 | def serch_keyword(self, keywords): 78 | self.first_handle.click_first_search() \ 79 | .send_search_keywords(keywords) \ 80 | .click_searchbtn() 81 | return self.list_handle.get_condition_text() 82 | 83 | def check_four_nav(self): 84 | self.first_handle.click_buttom_firstPage().click_top_buycar() 85 | self.first_handle.click_buttom_firstPage().click_top_sellcar() 86 | self.first_handle.click_buttom_firstPage().click_top_8891dealer() 87 | self.first_handle.click_buttom_firstPage().click_top_specialServer() 88 | result = self.first_handle.get_specialServer_title_text() 89 | self.first_handle.click_specialServer_back() 90 | return result 91 | 92 | def check_8891news(self): 93 | self.first_handle.click_8891news().click_news_back() 94 | return FirstPage(self.driver).get_8891news_tag_element() 95 | -------------------------------------------------------------------------------- /Business/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Business/__init__.py -------------------------------------------------------------------------------- /Handle/Android/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Handle/Android/__init__.py -------------------------------------------------------------------------------- /Handle/Android/firstHandle.py: -------------------------------------------------------------------------------- 1 | from Page.Android.firstPage import FirstPage 2 | from Business.Android.listBusiness import ListBusiness 3 | 4 | from Page.Android.loginPage import LoginPage 5 | from Business.Android.loginBusiness import LoginBusiness 6 | from Base import utils 7 | from time import sleep 8 | from run import PATH 9 | 10 | 11 | class FirstHandle: 12 | def __init__(self, driver): 13 | self.driver = driver 14 | self.first_page = FirstPage(driver) 15 | 16 | def check_top_ad_displayed(self): 17 | return self.first_page.get_top_ad_element().is_displayed() 18 | 19 | def check_mid_displayed(self): 20 | return self.first_page.get_mid_ad_element().is_displayed() 21 | 22 | def close_mask(self): 23 | self.first_page.get_close_mask_element().click() 24 | 25 | def click_first_search(self): 26 | self.first_page.get_top_serach_element().click() 27 | return self 28 | 29 | def send_search_keywords(self, keywords): 30 | self.first_page.get_top_edit_search_element().send_keys(keywords) 31 | return self 32 | 33 | def click_searchbtn(self): 34 | self.first_page.get_searchbtn_element().click() 35 | return self 36 | 37 | def check_listbanner(self): 38 | utils.check_listbanner(self.driver) 39 | 40 | def check_midbanner(self): 41 | utils.check_midbanner(self.driver) 42 | 43 | def screenshot_picture(self): 44 | pass 45 | 46 | def click_audi_topdealer(self): 47 | self.first_page.get_audi_topdealer_element().click() 48 | return ListBusiness(self.driver) 49 | 50 | def click_refresh(self): 51 | if self.first_page.get_refresh_element(): 52 | self.first_page.get_refresh_element().click() 53 | else: 54 | print("no refresh btn") 55 | 56 | def click_buttom_homePage(self): 57 | self.first_page.get_buttom_homePage_element().click() 58 | return self 59 | 60 | def click_buttom_firstPage(self): 61 | self.first_page.get_buttom_firstPage_element().click() 62 | return self 63 | 64 | def click_buttom_buycar(self): 65 | self.first_page.get_buttom_buycar_element().click() 66 | return self 67 | 68 | def click_buttom_sellcar(self): 69 | self.first_page.get_buttom_sellcar_element().click() 70 | return self 71 | 72 | def click_top_buycar(self): 73 | self.first_page.get_top_buycar_element().click() 74 | return self 75 | 76 | def click_top_sellcar(self): 77 | self.first_page.get_top_sellcar_element().click() 78 | return self 79 | 80 | def click_top_8891dealer(self): 81 | self.first_page.get_top_8891dealer_element().click() 82 | return self 83 | 84 | def click_top_specialServer(self): 85 | self.first_page.get_top_specialServer_element().click() 86 | return self 87 | 88 | def get_specialServer_title_text(self): 89 | return self.first_page.get_specialServer_title_element().text 90 | 91 | def click_specialServer_back(self): 92 | self.first_page.get_specialServer_back_element().click() 93 | return self 94 | 95 | def click_8891news(self): 96 | self.first_page.get_8891news_element().click() 97 | return self 98 | 99 | def click_news_back(self): 100 | self.first_page.get_news_back_element().click() 101 | return self -------------------------------------------------------------------------------- /Handle/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Handle/__init__.py -------------------------------------------------------------------------------- /Page/Android/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Page/Android/__init__.py -------------------------------------------------------------------------------- /Page/Android/basePage.py: -------------------------------------------------------------------------------- 1 | from selenium.webdriver.common.by import By 2 | 3 | class BasePage: 4 | def find(self, by): 5 | pass 6 | -------------------------------------------------------------------------------- /Page/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/Page/__init__.py -------------------------------------------------------------------------------- /PageObject/Android/HomePage/__pycache__/BasePage.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/Android/HomePage/__pycache__/BasePage.cpython-36.pyc -------------------------------------------------------------------------------- /PageObject/Android/HomePage/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/Android/HomePage/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /PageObject/Android/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/Android/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /PageObject/Web/HomePage/__pycache__/BasePage.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/Web/HomePage/__pycache__/BasePage.cpython-36.pyc -------------------------------------------------------------------------------- /PageObject/Web/HomePage/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/Web/HomePage/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /PageObject/Web/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/Web/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /PageObject/__pycache__/Pages.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/__pycache__/Pages.cpython-36.pyc -------------------------------------------------------------------------------- /PageObject/__pycache__/WebPages.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/__pycache__/WebPages.cpython-36.pyc -------------------------------------------------------------------------------- /PageObject/__pycache__/__init__.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/PageObject/__pycache__/__init__.cpython-36.pyc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UIautocn 2 | # UIautocn 3 | - 一套基于Pytest+selenium+appium的UI自动化框架,适用于web,android,iOS 4 | - 尚未完工 5 | 6 | # 使用 7 | 8 | 直接通过yaml进行配置控件 ,样例说明如下: 9 | ``` 10 | testinfo: 11 | - id: test001 12 | title: 8891中古车登录用例 13 | info: 打开app 14 | testcase: 15 | - element_info: com.addcn.car8891:id/close 16 | find_type: id 17 | operate_type: click 18 | info: 关闭新手引导图 19 | - element_info: //android.widget.TextView[@text='會員中心'] 20 | find_type: xpath 21 | operate_type: click 22 | info: 点击会员中心 23 | - element_info: com.addcn.car8891:id/login 24 | find_type: id 25 | operate_type: click 26 | info: 点击登录 27 | - element_info: com.addcn.car8891:id/user_ed 28 | find_type: id 29 | operate_type: set_value 30 | msg: majia 31 | info: 输入用户名 32 | - element_info: com.addcn.car8891:id/password_ed 33 | find_type: id 34 | operate_type: set_value 35 | msg: "a123456" 36 | info: 输入密码 37 | - element_info: com.addcn.car8891:id/login_btn 38 | find_type: id 39 | operate_type: click 40 | info: 提交登录按钮 41 | - element_info: com.addcn.car8891:id/setting 42 | find_type: id 43 | operate_type: click 44 | info: 点击设置菜单 45 | - element_info: com.addcn.car8891:id/out 46 | find_type: id 47 | operate_type: click 48 | info: 点击登出 49 | ``` 50 | 51 | ### 运行 52 | ``` 53 | python run.py 54 | ``` 55 | -------------------------------------------------------------------------------- /__pycache__/run.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/__pycache__/run.cpython-36.pyc -------------------------------------------------------------------------------- /__pycache__/test_android.cpython-36-pytest-5.0.0.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/__pycache__/test_android.cpython-36-pytest-5.0.0.pyc -------------------------------------------------------------------------------- /__pycache__/test_android_contacts.cpython-36-pytest-5.0.0.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/__pycache__/test_android_contacts.cpython-36-pytest-5.0.0.pyc -------------------------------------------------------------------------------- /chromedriver: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/chromedriver -------------------------------------------------------------------------------- /report/data/behaviors.csv: -------------------------------------------------------------------------------- 1 | "Epic","Feature","Story","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN" 2 | "","百度feature","判断是否有234","1","0","0","0","0" 3 | "","8891中古车","访问8891首页","0","0","2","0","0" 4 | -------------------------------------------------------------------------------- /report/data/behaviors.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "b1a8273437954620fa374b796ffaacdd", 3 | "name" : "behaviors", 4 | "children" : [ { 5 | "name" : "百度feature", 6 | "children" : [ { 7 | "name" : "判断是否有234", 8 | "children" : [ { 9 | "name" : "test_two", 10 | "uid" : "8f4da5e50bcafd58", 11 | "parentUid" : "6fed2057ce13d656612abae1cb1762c0", 12 | "status" : "failed", 13 | "time" : { 14 | "start" : 1562124266533, 15 | "stop" : 1562124267252, 16 | "duration" : 719 17 | }, 18 | "flaky" : false, 19 | "newFailed" : false, 20 | "parameters" : [ ] 21 | } ], 22 | "uid" : "6fed2057ce13d656612abae1cb1762c0" 23 | } ], 24 | "uid" : "3fdb9c22411d31bf190d07c864a52ab7" 25 | }, { 26 | "name" : "8891中古车", 27 | "children" : [ { 28 | "name" : "访问8891首页", 29 | "children" : [ { 30 | "name" : "test_one", 31 | "uid" : "170a3035cde28e7b", 32 | "parentUid" : "54910ac01a6856865eb91ab4369bcf75", 33 | "status" : "passed", 34 | "time" : { 35 | "start" : 1562125512194, 36 | "stop" : 1562125517470, 37 | "duration" : 5276 38 | }, 39 | "flaky" : false, 40 | "newFailed" : false, 41 | "parameters" : [ ] 42 | }, { 43 | "name" : "test_login", 44 | "uid" : "627d1a6748cffb3a", 45 | "parentUid" : "54910ac01a6856865eb91ab4369bcf75", 46 | "status" : "passed", 47 | "time" : { 48 | "start" : 1562125597087, 49 | "stop" : 1562125601565, 50 | "duration" : 4478 51 | }, 52 | "flaky" : false, 53 | "newFailed" : false, 54 | "parameters" : [ ] 55 | } ], 56 | "uid" : "54910ac01a6856865eb91ab4369bcf75" 57 | } ], 58 | "uid" : "70ed4f59de4a8a5ad0e39475526a5002" 59 | } ] 60 | } -------------------------------------------------------------------------------- /report/data/categories.csv: -------------------------------------------------------------------------------- 1 | "Category","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN" 2 | "Product defects","1","0","0","0","0" 3 | -------------------------------------------------------------------------------- /report/data/categories.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "4b4757e66a1912dae1a509f688f20b0f", 3 | "name" : "categories", 4 | "children" : [ { 5 | "name" : "Product defects", 6 | "children" : [ { 7 | "name" : "AssertionError: assert '百度一下' in 'bcd码_百度搜索'", 8 | "children" : [ { 9 | "name" : "test_two", 10 | "uid" : "8f4da5e50bcafd58", 11 | "parentUid" : "c615f62b11bd5ef424f3d8f0a344261b", 12 | "status" : "failed", 13 | "time" : { 14 | "start" : 1562124266533, 15 | "stop" : 1562124267252, 16 | "duration" : 719 17 | }, 18 | "flaky" : false, 19 | "newFailed" : false, 20 | "parameters" : [ ] 21 | } ], 22 | "uid" : "c615f62b11bd5ef424f3d8f0a344261b" 23 | } ], 24 | "uid" : "8fb3a91ba5aaf9de24cc8a92edc82b5d" 25 | } ] 26 | } -------------------------------------------------------------------------------- /report/data/packages.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "83edc06c07f9ae9e47eb6dd1b683e4e2", 3 | "name" : "packages", 4 | "children" : [ { 5 | "name" : "tests.test_case.test_pytest", 6 | "children" : [ { 7 | "name" : "test_two", 8 | "uid" : "8f4da5e50bcafd58", 9 | "parentUid" : "007a8d9ed560dd50c57385e20620acf6", 10 | "status" : "failed", 11 | "time" : { 12 | "start" : 1562124266533, 13 | "stop" : 1562124267252, 14 | "duration" : 719 15 | }, 16 | "flaky" : false, 17 | "newFailed" : false, 18 | "parameters" : [ ] 19 | }, { 20 | "name" : "test_one", 21 | "uid" : "170a3035cde28e7b", 22 | "parentUid" : "007a8d9ed560dd50c57385e20620acf6", 23 | "status" : "passed", 24 | "time" : { 25 | "start" : 1562125512194, 26 | "stop" : 1562125517470, 27 | "duration" : 5276 28 | }, 29 | "flaky" : false, 30 | "newFailed" : false, 31 | "parameters" : [ ] 32 | }, { 33 | "name" : "test_login", 34 | "uid" : "627d1a6748cffb3a", 35 | "parentUid" : "007a8d9ed560dd50c57385e20620acf6", 36 | "status" : "passed", 37 | "time" : { 38 | "start" : 1562125597087, 39 | "stop" : 1562125601565, 40 | "duration" : 4478 41 | }, 42 | "flaky" : false, 43 | "newFailed" : false, 44 | "parameters" : [ ] 45 | } ], 46 | "uid" : "tests.test_case.test_pytest" 47 | } ] 48 | } -------------------------------------------------------------------------------- /report/data/suites.csv: -------------------------------------------------------------------------------- 1 | "Status","Start Time","Stop Time","Duration in ms","Parent Suite","Suite","Sub Suite","Test Class","Test Method","Name","Description" 2 | "failed","Wed Jul 03 11:24:26 CST 2019","Wed Jul 03 11:24:27 CST 2019","719","tests.test_case","test_pytest","TestClass","","","test_two","" 3 | "passed","Wed Jul 03 11:45:12 CST 2019","Wed Jul 03 11:45:17 CST 2019","5276","tests.test_case","test_pytest","TestClass","","","test_one","" 4 | "passed","Wed Jul 03 11:46:37 CST 2019","Wed Jul 03 11:46:41 CST 2019","4478","tests.test_case","test_pytest","TestClass","","","test_login","" 5 | -------------------------------------------------------------------------------- /report/data/suites.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "98d3104e051c652961429bf95fa0b5d6", 3 | "name" : "suites", 4 | "children" : [ { 5 | "name" : "tests.test_case", 6 | "children" : [ { 7 | "name" : "test_pytest", 8 | "children" : [ { 9 | "name" : "TestClass", 10 | "children" : [ { 11 | "name" : "test_two", 12 | "uid" : "8f4da5e50bcafd58", 13 | "parentUid" : "2ba6a4e348e3b2ef688431dc91d763db", 14 | "status" : "failed", 15 | "time" : { 16 | "start" : 1562124266533, 17 | "stop" : 1562124267252, 18 | "duration" : 719 19 | }, 20 | "flaky" : false, 21 | "newFailed" : false, 22 | "parameters" : [ ] 23 | }, { 24 | "name" : "test_one", 25 | "uid" : "170a3035cde28e7b", 26 | "parentUid" : "2ba6a4e348e3b2ef688431dc91d763db", 27 | "status" : "passed", 28 | "time" : { 29 | "start" : 1562125512194, 30 | "stop" : 1562125517470, 31 | "duration" : 5276 32 | }, 33 | "flaky" : false, 34 | "newFailed" : false, 35 | "parameters" : [ ] 36 | }, { 37 | "name" : "test_login", 38 | "uid" : "627d1a6748cffb3a", 39 | "parentUid" : "2ba6a4e348e3b2ef688431dc91d763db", 40 | "status" : "passed", 41 | "time" : { 42 | "start" : 1562125597087, 43 | "stop" : 1562125601565, 44 | "duration" : 4478 45 | }, 46 | "flaky" : false, 47 | "newFailed" : false, 48 | "parameters" : [ ] 49 | } ], 50 | "uid" : "2ba6a4e348e3b2ef688431dc91d763db" 51 | } ], 52 | "uid" : "ff608e04e427de51b847629c873f235f" 53 | } ], 54 | "uid" : "0cc86a2310b4d245e3f2a5a97552b3a2" 55 | } ] 56 | } -------------------------------------------------------------------------------- /report/data/test-cases/15a6fe586012c9d0.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "15a6fe586012c9d0", 3 | "name" : "test_two", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_two", 5 | "historyId" : "a4addfc73a872e810a368dd6739346da", 6 | "time" : { 7 | "start" : 1562123066628, 8 | "stop" : 1562123067092, 9 | "duration" : 464 10 | }, 11 | "status" : "failed", 12 | "statusMessage" : "AssertionError: assert '百度一下' in 'test1111_百度搜索'", 13 | "statusTrace" : "self = \ngetDriver = \n\n @allure.story('判断是否有234')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'test1111_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError", 14 | "flaky" : false, 15 | "newFailed" : false, 16 | "beforeStages" : [ { 17 | "name" : "getDriver", 18 | "time" : { 19 | "start" : 1562123062240, 20 | "stop" : 1562123065746, 21 | "duration" : 3506 22 | }, 23 | "status" : "passed", 24 | "steps" : [ ], 25 | "attachments" : [ ], 26 | "parameters" : [ ], 27 | "stepsCount" : 0, 28 | "attachmentsCount" : 0, 29 | "shouldDisplayMessage" : false, 30 | "hasContent" : false 31 | } ], 32 | "afterStages" : [ ], 33 | "labels" : [ { 34 | "name" : "story", 35 | "value" : "判断是否有234" 36 | }, { 37 | "name" : "feature", 38 | "value" : "百度feature" 39 | }, { 40 | "name" : "parentSuite", 41 | "value" : "tests.test_case" 42 | }, { 43 | "name" : "suite", 44 | "value" : "test_pytest" 45 | }, { 46 | "name" : "subSuite", 47 | "value" : "TestClass" 48 | }, { 49 | "name" : "host", 50 | "value" : "luokaideMacBook-Pro.local" 51 | }, { 52 | "name" : "thread", 53 | "value" : "54847-MainThread" 54 | }, { 55 | "name" : "framework", 56 | "value" : "pytest" 57 | }, { 58 | "name" : "language", 59 | "value" : "cpython3" 60 | }, { 61 | "name" : "package", 62 | "value" : "tests.test_case.test_pytest" 63 | }, { 64 | "name" : "resultFormat", 65 | "value" : "allure2" 66 | } ], 67 | "parameters" : [ ], 68 | "links" : [ ], 69 | "hidden" : true, 70 | "retry" : true, 71 | "extra" : { 72 | "categories" : [ ], 73 | "tags" : [ ] 74 | }, 75 | "source" : "15a6fe586012c9d0.json", 76 | "parameterValues" : [ ] 77 | } -------------------------------------------------------------------------------- /report/data/test-cases/28ad489c24a44a6d.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "28ad489c24a44a6d", 3 | "name" : "test_one", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_one", 5 | "historyId" : "bb3f89cd30617b1b81dc9875c880623e", 6 | "time" : { 7 | "start" : 1562124007964, 8 | "stop" : 1562124008972, 9 | "duration" : 1008 10 | }, 11 | "status" : "passed", 12 | "flaky" : false, 13 | "newFailed" : false, 14 | "beforeStages" : [ { 15 | "name" : "getDriver", 16 | "time" : { 17 | "start" : 1562124004128, 18 | "stop" : 1562124007958, 19 | "duration" : 3830 20 | }, 21 | "status" : "passed", 22 | "steps" : [ ], 23 | "attachments" : [ ], 24 | "parameters" : [ ], 25 | "stepsCount" : 0, 26 | "attachmentsCount" : 0, 27 | "shouldDisplayMessage" : false, 28 | "hasContent" : false 29 | } ], 30 | "testStage" : { 31 | "status" : "passed", 32 | "steps" : [ { 33 | "name" : "发送文本", 34 | "time" : { 35 | "start" : 1562124008003, 36 | "stop" : 1562124008830, 37 | "duration" : 827 38 | }, 39 | "status" : "broken", 40 | "statusMessage" : "KeyError: 'defaultframe'\n", 41 | "statusTrace" : " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n", 42 | "steps" : [ ], 43 | "attachments" : [ ], 44 | "parameters" : [ { 45 | "name" : "operate", 46 | "value" : "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}" 47 | } ], 48 | "stepsCount" : 0, 49 | "attachmentsCount" : 0, 50 | "shouldDisplayMessage" : true, 51 | "hasContent" : true 52 | }, { 53 | "name" : "单击", 54 | "time" : { 55 | "start" : 1562124008851, 56 | "stop" : 1562124008963, 57 | "duration" : 112 58 | }, 59 | "status" : "passed", 60 | "steps" : [ ], 61 | "attachments" : [ ], 62 | "parameters" : [ { 63 | "name" : "operate", 64 | "value" : "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}" 65 | } ], 66 | "stepsCount" : 0, 67 | "attachmentsCount" : 0, 68 | "shouldDisplayMessage" : false, 69 | "hasContent" : true 70 | }, { 71 | "name" : "断言", 72 | "time" : { 73 | "start" : 1562124008963, 74 | "stop" : 1562124008972, 75 | "duration" : 9 76 | }, 77 | "status" : "passed", 78 | "steps" : [ ], 79 | "attachments" : [ ], 80 | "parameters" : [ { 81 | "name" : "operate", 82 | "value" : "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}" 83 | } ], 84 | "stepsCount" : 0, 85 | "attachmentsCount" : 0, 86 | "shouldDisplayMessage" : false, 87 | "hasContent" : true 88 | } ], 89 | "attachments" : [ ], 90 | "parameters" : [ ], 91 | "stepsCount" : 3, 92 | "attachmentsCount" : 0, 93 | "shouldDisplayMessage" : false, 94 | "hasContent" : true 95 | }, 96 | "afterStages" : [ ], 97 | "labels" : [ { 98 | "name" : "story", 99 | "value" : "访问百度首页234" 100 | }, { 101 | "name" : "feature", 102 | "value" : "百度feature" 103 | }, { 104 | "name" : "parentSuite", 105 | "value" : "tests.test_case" 106 | }, { 107 | "name" : "suite", 108 | "value" : "test_pytest" 109 | }, { 110 | "name" : "subSuite", 111 | "value" : "TestClass" 112 | }, { 113 | "name" : "host", 114 | "value" : "luokaideMacBook-Pro.local" 115 | }, { 116 | "name" : "thread", 117 | "value" : "55259-MainThread" 118 | }, { 119 | "name" : "framework", 120 | "value" : "pytest" 121 | }, { 122 | "name" : "language", 123 | "value" : "cpython3" 124 | }, { 125 | "name" : "package", 126 | "value" : "tests.test_case.test_pytest" 127 | }, { 128 | "name" : "resultFormat", 129 | "value" : "allure2" 130 | } ], 131 | "parameters" : [ ], 132 | "links" : [ ], 133 | "hidden" : true, 134 | "retry" : true, 135 | "extra" : { 136 | "categories" : [ ], 137 | "tags" : [ ] 138 | }, 139 | "source" : "28ad489c24a44a6d.json", 140 | "parameterValues" : [ ] 141 | } -------------------------------------------------------------------------------- /report/data/test-cases/4214466ee2cfe206.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "4214466ee2cfe206", 3 | "name" : "test_two", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_two", 5 | "historyId" : "a4addfc73a872e810a368dd6739346da", 6 | "time" : { 7 | "start" : 1562116685450, 8 | "stop" : 1562116686133, 9 | "duration" : 683 10 | }, 11 | "status" : "failed", 12 | "statusMessage" : "AssertionError: assert '百度一下' in 'bcd码_百度搜索'", 13 | "statusTrace" : "self = \ngetDriver = \n\n @allure.story('判断是否有123')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'bcd码_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError", 14 | "flaky" : false, 15 | "newFailed" : false, 16 | "beforeStages" : [ { 17 | "name" : "getDriver", 18 | "time" : { 19 | "start" : 1562116681245, 20 | "stop" : 1562116684539, 21 | "duration" : 3294 22 | }, 23 | "status" : "passed", 24 | "steps" : [ ], 25 | "attachments" : [ ], 26 | "parameters" : [ ], 27 | "stepsCount" : 0, 28 | "attachmentsCount" : 0, 29 | "shouldDisplayMessage" : false, 30 | "hasContent" : false 31 | } ], 32 | "afterStages" : [ ], 33 | "labels" : [ { 34 | "name" : "story", 35 | "value" : "判断是否有123" 36 | }, { 37 | "name" : "feature", 38 | "value" : "百度feature" 39 | }, { 40 | "name" : "parentSuite", 41 | "value" : "tests.test_case" 42 | }, { 43 | "name" : "suite", 44 | "value" : "test_pytest" 45 | }, { 46 | "name" : "subSuite", 47 | "value" : "TestClass" 48 | }, { 49 | "name" : "host", 50 | "value" : "luokaideMacBook-Pro.local" 51 | }, { 52 | "name" : "thread", 53 | "value" : "54723-MainThread" 54 | }, { 55 | "name" : "framework", 56 | "value" : "pytest" 57 | }, { 58 | "name" : "language", 59 | "value" : "cpython3" 60 | }, { 61 | "name" : "package", 62 | "value" : "tests.test_case.test_pytest" 63 | }, { 64 | "name" : "resultFormat", 65 | "value" : "allure2" 66 | } ], 67 | "parameters" : [ ], 68 | "links" : [ ], 69 | "hidden" : true, 70 | "retry" : true, 71 | "extra" : { 72 | "categories" : [ ], 73 | "tags" : [ ] 74 | }, 75 | "source" : "4214466ee2cfe206.json", 76 | "parameterValues" : [ ] 77 | } -------------------------------------------------------------------------------- /report/data/test-cases/689367cb5a2085c8.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "689367cb5a2085c8", 3 | "name" : "test_one", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_one", 5 | "historyId" : "bb3f89cd30617b1b81dc9875c880623e", 6 | "time" : { 7 | "start" : 1562123534660, 8 | "stop" : 1562123535537, 9 | "duration" : 877 10 | }, 11 | "status" : "passed", 12 | "flaky" : false, 13 | "newFailed" : false, 14 | "beforeStages" : [ { 15 | "name" : "getDriver", 16 | "time" : { 17 | "start" : 1562123531570, 18 | "stop" : 1562123534657, 19 | "duration" : 3087 20 | }, 21 | "status" : "passed", 22 | "steps" : [ ], 23 | "attachments" : [ ], 24 | "parameters" : [ ], 25 | "stepsCount" : 0, 26 | "attachmentsCount" : 0, 27 | "shouldDisplayMessage" : false, 28 | "hasContent" : false 29 | } ], 30 | "testStage" : { 31 | "status" : "passed", 32 | "steps" : [ { 33 | "name" : "发送文本", 34 | "time" : { 35 | "start" : 1562123534685, 36 | "stop" : 1562123535436, 37 | "duration" : 751 38 | }, 39 | "status" : "broken", 40 | "statusMessage" : "KeyError: 'defaultframe'\n", 41 | "statusTrace" : " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n", 42 | "steps" : [ ], 43 | "attachments" : [ ], 44 | "parameters" : [ { 45 | "name" : "operate", 46 | "value" : "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}" 47 | } ], 48 | "stepsCount" : 0, 49 | "attachmentsCount" : 0, 50 | "shouldDisplayMessage" : true, 51 | "hasContent" : true 52 | }, { 53 | "name" : "单击", 54 | "time" : { 55 | "start" : 1562123535452, 56 | "stop" : 1562123535529, 57 | "duration" : 77 58 | }, 59 | "status" : "passed", 60 | "steps" : [ ], 61 | "attachments" : [ ], 62 | "parameters" : [ { 63 | "name" : "operate", 64 | "value" : "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}" 65 | } ], 66 | "stepsCount" : 0, 67 | "attachmentsCount" : 0, 68 | "shouldDisplayMessage" : false, 69 | "hasContent" : true 70 | }, { 71 | "name" : "断言", 72 | "time" : { 73 | "start" : 1562123535529, 74 | "stop" : 1562123535537, 75 | "duration" : 8 76 | }, 77 | "status" : "passed", 78 | "steps" : [ ], 79 | "attachments" : [ ], 80 | "parameters" : [ { 81 | "name" : "operate", 82 | "value" : "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}" 83 | } ], 84 | "stepsCount" : 0, 85 | "attachmentsCount" : 0, 86 | "shouldDisplayMessage" : false, 87 | "hasContent" : true 88 | } ], 89 | "attachments" : [ ], 90 | "parameters" : [ ], 91 | "stepsCount" : 3, 92 | "attachmentsCount" : 0, 93 | "shouldDisplayMessage" : false, 94 | "hasContent" : true 95 | }, 96 | "afterStages" : [ ], 97 | "labels" : [ { 98 | "name" : "feature", 99 | "value" : "百度feature" 100 | }, { 101 | "name" : "story", 102 | "value" : "访问百度首页234" 103 | }, { 104 | "name" : "parentSuite", 105 | "value" : "tests.test_case" 106 | }, { 107 | "name" : "suite", 108 | "value" : "test_pytest" 109 | }, { 110 | "name" : "subSuite", 111 | "value" : "TestClass" 112 | }, { 113 | "name" : "host", 114 | "value" : "luokaideMacBook-Pro.local" 115 | }, { 116 | "name" : "thread", 117 | "value" : "54958-MainThread" 118 | }, { 119 | "name" : "framework", 120 | "value" : "pytest" 121 | }, { 122 | "name" : "language", 123 | "value" : "cpython3" 124 | }, { 125 | "name" : "package", 126 | "value" : "tests.test_case.test_pytest" 127 | }, { 128 | "name" : "resultFormat", 129 | "value" : "allure2" 130 | } ], 131 | "parameters" : [ ], 132 | "links" : [ ], 133 | "hidden" : true, 134 | "retry" : true, 135 | "extra" : { 136 | "categories" : [ ], 137 | "tags" : [ ] 138 | }, 139 | "source" : "689367cb5a2085c8.json", 140 | "parameterValues" : [ ] 141 | } -------------------------------------------------------------------------------- /report/data/test-cases/6c10fce025391e3c.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "6c10fce025391e3c", 3 | "name" : "test_one", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_one", 5 | "historyId" : "bb3f89cd30617b1b81dc9875c880623e", 6 | "time" : { 7 | "start" : 1562123065750, 8 | "stop" : 1562123066623, 9 | "duration" : 873 10 | }, 11 | "status" : "passed", 12 | "flaky" : false, 13 | "newFailed" : false, 14 | "beforeStages" : [ { 15 | "name" : "getDriver", 16 | "time" : { 17 | "start" : 1562123062240, 18 | "stop" : 1562123065746, 19 | "duration" : 3506 20 | }, 21 | "status" : "passed", 22 | "steps" : [ ], 23 | "attachments" : [ ], 24 | "parameters" : [ ], 25 | "stepsCount" : 0, 26 | "attachmentsCount" : 0, 27 | "shouldDisplayMessage" : false, 28 | "hasContent" : false 29 | } ], 30 | "testStage" : { 31 | "status" : "passed", 32 | "steps" : [ { 33 | "name" : "发送文本", 34 | "time" : { 35 | "start" : 1562123065772, 36 | "stop" : 1562123066483, 37 | "duration" : 711 38 | }, 39 | "status" : "broken", 40 | "statusMessage" : "KeyError: 'defaultframe'\n", 41 | "statusTrace" : " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n", 42 | "steps" : [ ], 43 | "attachments" : [ ], 44 | "parameters" : [ { 45 | "name" : "operate", 46 | "value" : "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}" 47 | } ], 48 | "stepsCount" : 0, 49 | "attachmentsCount" : 0, 50 | "shouldDisplayMessage" : true, 51 | "hasContent" : true 52 | }, { 53 | "name" : "单击", 54 | "time" : { 55 | "start" : 1562123066500, 56 | "stop" : 1562123066611, 57 | "duration" : 111 58 | }, 59 | "status" : "passed", 60 | "steps" : [ ], 61 | "attachments" : [ ], 62 | "parameters" : [ { 63 | "name" : "operate", 64 | "value" : "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}" 65 | } ], 66 | "stepsCount" : 0, 67 | "attachmentsCount" : 0, 68 | "shouldDisplayMessage" : false, 69 | "hasContent" : true 70 | }, { 71 | "name" : "断言", 72 | "time" : { 73 | "start" : 1562123066613, 74 | "stop" : 1562123066623, 75 | "duration" : 10 76 | }, 77 | "status" : "passed", 78 | "steps" : [ ], 79 | "attachments" : [ ], 80 | "parameters" : [ { 81 | "name" : "operate", 82 | "value" : "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}" 83 | } ], 84 | "stepsCount" : 0, 85 | "attachmentsCount" : 0, 86 | "shouldDisplayMessage" : false, 87 | "hasContent" : true 88 | } ], 89 | "attachments" : [ ], 90 | "parameters" : [ ], 91 | "stepsCount" : 3, 92 | "attachmentsCount" : 0, 93 | "shouldDisplayMessage" : false, 94 | "hasContent" : true 95 | }, 96 | "afterStages" : [ ], 97 | "labels" : [ { 98 | "name" : "story", 99 | "value" : "访问百度首页234" 100 | }, { 101 | "name" : "feature", 102 | "value" : "百度feature" 103 | }, { 104 | "name" : "parentSuite", 105 | "value" : "tests.test_case" 106 | }, { 107 | "name" : "suite", 108 | "value" : "test_pytest" 109 | }, { 110 | "name" : "subSuite", 111 | "value" : "TestClass" 112 | }, { 113 | "name" : "host", 114 | "value" : "luokaideMacBook-Pro.local" 115 | }, { 116 | "name" : "thread", 117 | "value" : "54847-MainThread" 118 | }, { 119 | "name" : "framework", 120 | "value" : "pytest" 121 | }, { 122 | "name" : "language", 123 | "value" : "cpython3" 124 | }, { 125 | "name" : "package", 126 | "value" : "tests.test_case.test_pytest" 127 | }, { 128 | "name" : "resultFormat", 129 | "value" : "allure2" 130 | } ], 131 | "parameters" : [ ], 132 | "links" : [ ], 133 | "hidden" : true, 134 | "retry" : true, 135 | "extra" : { 136 | "categories" : [ ], 137 | "tags" : [ ] 138 | }, 139 | "source" : "6c10fce025391e3c.json", 140 | "parameterValues" : [ ] 141 | } -------------------------------------------------------------------------------- /report/data/test-cases/87bf4c41039f1cc4.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "87bf4c41039f1cc4", 3 | "name" : "test_two", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_two", 5 | "historyId" : "a4addfc73a872e810a368dd6739346da", 6 | "time" : { 7 | "start" : 1562123863532, 8 | "stop" : 1562123863813, 9 | "duration" : 281 10 | }, 11 | "status" : "passed", 12 | "flaky" : false, 13 | "newFailed" : false, 14 | "beforeStages" : [ { 15 | "name" : "getDriver", 16 | "time" : { 17 | "start" : 1562123859334, 18 | "stop" : 1562123862673, 19 | "duration" : 3339 20 | }, 21 | "status" : "passed", 22 | "steps" : [ ], 23 | "attachments" : [ ], 24 | "parameters" : [ ], 25 | "stepsCount" : 0, 26 | "attachmentsCount" : 0, 27 | "shouldDisplayMessage" : false, 28 | "hasContent" : false 29 | } ], 30 | "afterStages" : [ ], 31 | "labels" : [ { 32 | "name" : "story", 33 | "value" : "判断是否有234" 34 | }, { 35 | "name" : "feature", 36 | "value" : "百度feature" 37 | }, { 38 | "name" : "parentSuite", 39 | "value" : "tests.test_case" 40 | }, { 41 | "name" : "suite", 42 | "value" : "test_pytest" 43 | }, { 44 | "name" : "subSuite", 45 | "value" : "TestClass" 46 | }, { 47 | "name" : "host", 48 | "value" : "luokaideMacBook-Pro.local" 49 | }, { 50 | "name" : "thread", 51 | "value" : "55033-MainThread" 52 | }, { 53 | "name" : "framework", 54 | "value" : "pytest" 55 | }, { 56 | "name" : "language", 57 | "value" : "cpython3" 58 | }, { 59 | "name" : "package", 60 | "value" : "tests.test_case.test_pytest" 61 | }, { 62 | "name" : "resultFormat", 63 | "value" : "allure2" 64 | } ], 65 | "parameters" : [ ], 66 | "links" : [ ], 67 | "hidden" : true, 68 | "retry" : true, 69 | "extra" : { 70 | "categories" : [ ], 71 | "tags" : [ ] 72 | }, 73 | "source" : "87bf4c41039f1cc4.json", 74 | "parameterValues" : [ ] 75 | } -------------------------------------------------------------------------------- /report/data/test-cases/8f4da5e50bcafd58.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "8f4da5e50bcafd58", 3 | "name" : "test_two", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_two", 5 | "historyId" : "a4addfc73a872e810a368dd6739346da", 6 | "time" : { 7 | "start" : 1562124266533, 8 | "stop" : 1562124267252, 9 | "duration" : 719 10 | }, 11 | "status" : "failed", 12 | "statusMessage" : "AssertionError: assert '百度一下' in 'bcd码_百度搜索'", 13 | "statusTrace" : "self = \ngetDriver = \n\n @allure.story('判断是否有234')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'bcd码_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError", 14 | "flaky" : false, 15 | "newFailed" : false, 16 | "beforeStages" : [ { 17 | "name" : "getDriver", 18 | "time" : { 19 | "start" : 1562124262407, 20 | "stop" : 1562124265618, 21 | "duration" : 3211 22 | }, 23 | "status" : "passed", 24 | "steps" : [ ], 25 | "attachments" : [ ], 26 | "parameters" : [ ], 27 | "stepsCount" : 0, 28 | "attachmentsCount" : 0, 29 | "shouldDisplayMessage" : false, 30 | "hasContent" : false 31 | } ], 32 | "afterStages" : [ ], 33 | "labels" : [ { 34 | "name" : "feature", 35 | "value" : "百度feature" 36 | }, { 37 | "name" : "story", 38 | "value" : "判断是否有234" 39 | }, { 40 | "name" : "parentSuite", 41 | "value" : "tests.test_case" 42 | }, { 43 | "name" : "suite", 44 | "value" : "test_pytest" 45 | }, { 46 | "name" : "subSuite", 47 | "value" : "TestClass" 48 | }, { 49 | "name" : "host", 50 | "value" : "luokaideMacBook-Pro.local" 51 | }, { 52 | "name" : "thread", 53 | "value" : "55342-MainThread" 54 | }, { 55 | "name" : "framework", 56 | "value" : "pytest" 57 | }, { 58 | "name" : "language", 59 | "value" : "cpython3" 60 | }, { 61 | "name" : "package", 62 | "value" : "tests.test_case.test_pytest" 63 | }, { 64 | "name" : "resultFormat", 65 | "value" : "allure2" 66 | } ], 67 | "parameters" : [ ], 68 | "links" : [ ], 69 | "hidden" : false, 70 | "retry" : false, 71 | "extra" : { 72 | "severity" : "normal", 73 | "retries" : [ { 74 | "uid" : "a46ab0fcd1e4e1e8", 75 | "status" : "failed", 76 | "statusDetails" : "AssertionError: assert '百度一下' in 'test1111_百度搜索'", 77 | "time" : { 78 | "start" : 1562124008981, 79 | "stop" : 1562124009597, 80 | "duration" : 616 81 | } 82 | }, { 83 | "uid" : "87bf4c41039f1cc4", 84 | "status" : "passed", 85 | "time" : { 86 | "start" : 1562123863532, 87 | "stop" : 1562123863813, 88 | "duration" : 281 89 | } 90 | }, { 91 | "uid" : "9791996cbd506c31", 92 | "status" : "failed", 93 | "statusDetails" : "AssertionError: assert '百度一下' in 'test1111_百度搜索'", 94 | "time" : { 95 | "start" : 1562123535541, 96 | "stop" : 1562123536021, 97 | "duration" : 480 98 | } 99 | }, { 100 | "uid" : "15a6fe586012c9d0", 101 | "status" : "failed", 102 | "statusDetails" : "AssertionError: assert '百度一下' in 'test1111_百度搜索'", 103 | "time" : { 104 | "start" : 1562123066628, 105 | "stop" : 1562123067092, 106 | "duration" : 464 107 | } 108 | }, { 109 | "uid" : "4214466ee2cfe206", 110 | "status" : "failed", 111 | "statusDetails" : "AssertionError: assert '百度一下' in 'bcd码_百度搜索'", 112 | "time" : { 113 | "start" : 1562116685450, 114 | "stop" : 1562116686133, 115 | "duration" : 683 116 | } 117 | } ], 118 | "categories" : [ { 119 | "name" : "Product defects", 120 | "matchedStatuses" : [ ], 121 | "flaky" : false 122 | } ], 123 | "tags" : [ ] 124 | }, 125 | "source" : "8f4da5e50bcafd58.json", 126 | "parameterValues" : [ ] 127 | } -------------------------------------------------------------------------------- /report/data/test-cases/94350198fb1d4ffd.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "94350198fb1d4ffd", 3 | "name" : "test_one", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_one", 5 | "historyId" : "bb3f89cd30617b1b81dc9875c880623e", 6 | "time" : { 7 | "start" : 1562124265621, 8 | "stop" : 1562124266526, 9 | "duration" : 905 10 | }, 11 | "status" : "passed", 12 | "flaky" : false, 13 | "newFailed" : false, 14 | "beforeStages" : [ { 15 | "name" : "getDriver", 16 | "time" : { 17 | "start" : 1562124262407, 18 | "stop" : 1562124265618, 19 | "duration" : 3211 20 | }, 21 | "status" : "passed", 22 | "steps" : [ ], 23 | "attachments" : [ ], 24 | "parameters" : [ ], 25 | "stepsCount" : 0, 26 | "attachmentsCount" : 0, 27 | "shouldDisplayMessage" : false, 28 | "hasContent" : false 29 | } ], 30 | "testStage" : { 31 | "status" : "passed", 32 | "steps" : [ { 33 | "name" : "发送文本", 34 | "time" : { 35 | "start" : 1562124265646, 36 | "stop" : 1562124266417, 37 | "duration" : 771 38 | }, 39 | "status" : "broken", 40 | "statusMessage" : "KeyError: 'defaultframe'\n", 41 | "statusTrace" : " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n", 42 | "steps" : [ ], 43 | "attachments" : [ ], 44 | "parameters" : [ { 45 | "name" : "operate", 46 | "value" : "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}" 47 | } ], 48 | "stepsCount" : 0, 49 | "attachmentsCount" : 0, 50 | "shouldDisplayMessage" : true, 51 | "hasContent" : true 52 | }, { 53 | "name" : "单击", 54 | "time" : { 55 | "start" : 1562124266435, 56 | "stop" : 1562124266516, 57 | "duration" : 81 58 | }, 59 | "status" : "passed", 60 | "steps" : [ ], 61 | "attachments" : [ ], 62 | "parameters" : [ { 63 | "name" : "operate", 64 | "value" : "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}" 65 | } ], 66 | "stepsCount" : 0, 67 | "attachmentsCount" : 0, 68 | "shouldDisplayMessage" : false, 69 | "hasContent" : true 70 | }, { 71 | "name" : "断言", 72 | "time" : { 73 | "start" : 1562124266516, 74 | "stop" : 1562124266525, 75 | "duration" : 9 76 | }, 77 | "status" : "passed", 78 | "steps" : [ ], 79 | "attachments" : [ ], 80 | "parameters" : [ { 81 | "name" : "operate", 82 | "value" : "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}" 83 | } ], 84 | "stepsCount" : 0, 85 | "attachmentsCount" : 0, 86 | "shouldDisplayMessage" : false, 87 | "hasContent" : true 88 | } ], 89 | "attachments" : [ ], 90 | "parameters" : [ ], 91 | "stepsCount" : 3, 92 | "attachmentsCount" : 0, 93 | "shouldDisplayMessage" : false, 94 | "hasContent" : true 95 | }, 96 | "afterStages" : [ ], 97 | "labels" : [ { 98 | "name" : "story", 99 | "value" : "访问百度首页234" 100 | }, { 101 | "name" : "feature", 102 | "value" : "百度feature" 103 | }, { 104 | "name" : "parentSuite", 105 | "value" : "tests.test_case" 106 | }, { 107 | "name" : "suite", 108 | "value" : "test_pytest" 109 | }, { 110 | "name" : "subSuite", 111 | "value" : "TestClass" 112 | }, { 113 | "name" : "host", 114 | "value" : "luokaideMacBook-Pro.local" 115 | }, { 116 | "name" : "thread", 117 | "value" : "55342-MainThread" 118 | }, { 119 | "name" : "framework", 120 | "value" : "pytest" 121 | }, { 122 | "name" : "language", 123 | "value" : "cpython3" 124 | }, { 125 | "name" : "package", 126 | "value" : "tests.test_case.test_pytest" 127 | }, { 128 | "name" : "resultFormat", 129 | "value" : "allure2" 130 | } ], 131 | "parameters" : [ ], 132 | "links" : [ ], 133 | "hidden" : true, 134 | "retry" : true, 135 | "extra" : { 136 | "categories" : [ ], 137 | "tags" : [ ] 138 | }, 139 | "source" : "94350198fb1d4ffd.json", 140 | "parameterValues" : [ ] 141 | } -------------------------------------------------------------------------------- /report/data/test-cases/9791996cbd506c31.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "9791996cbd506c31", 3 | "name" : "test_two", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_two", 5 | "historyId" : "a4addfc73a872e810a368dd6739346da", 6 | "time" : { 7 | "start" : 1562123535541, 8 | "stop" : 1562123536021, 9 | "duration" : 480 10 | }, 11 | "status" : "failed", 12 | "statusMessage" : "AssertionError: assert '百度一下' in 'test1111_百度搜索'", 13 | "statusTrace" : "self = \ngetDriver = \n\n @allure.story('判断是否有234')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'test1111_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError", 14 | "flaky" : false, 15 | "newFailed" : false, 16 | "beforeStages" : [ { 17 | "name" : "getDriver", 18 | "time" : { 19 | "start" : 1562123531570, 20 | "stop" : 1562123534657, 21 | "duration" : 3087 22 | }, 23 | "status" : "passed", 24 | "steps" : [ ], 25 | "attachments" : [ ], 26 | "parameters" : [ ], 27 | "stepsCount" : 0, 28 | "attachmentsCount" : 0, 29 | "shouldDisplayMessage" : false, 30 | "hasContent" : false 31 | } ], 32 | "afterStages" : [ ], 33 | "labels" : [ { 34 | "name" : "feature", 35 | "value" : "百度feature" 36 | }, { 37 | "name" : "story", 38 | "value" : "判断是否有234" 39 | }, { 40 | "name" : "parentSuite", 41 | "value" : "tests.test_case" 42 | }, { 43 | "name" : "suite", 44 | "value" : "test_pytest" 45 | }, { 46 | "name" : "subSuite", 47 | "value" : "TestClass" 48 | }, { 49 | "name" : "host", 50 | "value" : "luokaideMacBook-Pro.local" 51 | }, { 52 | "name" : "thread", 53 | "value" : "54958-MainThread" 54 | }, { 55 | "name" : "framework", 56 | "value" : "pytest" 57 | }, { 58 | "name" : "language", 59 | "value" : "cpython3" 60 | }, { 61 | "name" : "package", 62 | "value" : "tests.test_case.test_pytest" 63 | }, { 64 | "name" : "resultFormat", 65 | "value" : "allure2" 66 | } ], 67 | "parameters" : [ ], 68 | "links" : [ ], 69 | "hidden" : true, 70 | "retry" : true, 71 | "extra" : { 72 | "categories" : [ ], 73 | "tags" : [ ] 74 | }, 75 | "source" : "9791996cbd506c31.json", 76 | "parameterValues" : [ ] 77 | } -------------------------------------------------------------------------------- /report/data/test-cases/a3b1e8730646802c.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "a3b1e8730646802c", 3 | "name" : "test_one", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_one", 5 | "historyId" : "bb3f89cd30617b1b81dc9875c880623e", 6 | "time" : { 7 | "start" : 1562116684542, 8 | "stop" : 1562116685443, 9 | "duration" : 901 10 | }, 11 | "status" : "passed", 12 | "flaky" : false, 13 | "newFailed" : false, 14 | "beforeStages" : [ { 15 | "name" : "getDriver", 16 | "time" : { 17 | "start" : 1562116681245, 18 | "stop" : 1562116684539, 19 | "duration" : 3294 20 | }, 21 | "status" : "passed", 22 | "steps" : [ ], 23 | "attachments" : [ ], 24 | "parameters" : [ ], 25 | "stepsCount" : 0, 26 | "attachmentsCount" : 0, 27 | "shouldDisplayMessage" : false, 28 | "hasContent" : false 29 | } ], 30 | "testStage" : { 31 | "status" : "passed", 32 | "steps" : [ { 33 | "name" : "发送文本", 34 | "time" : { 35 | "start" : 1562116684581, 36 | "stop" : 1562116685338, 37 | "duration" : 757 38 | }, 39 | "status" : "broken", 40 | "statusMessage" : "KeyError: 'defaultframe'\n", 41 | "statusTrace" : " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n", 42 | "steps" : [ ], 43 | "attachments" : [ ], 44 | "parameters" : [ { 45 | "name" : "operate", 46 | "value" : "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}" 47 | } ], 48 | "stepsCount" : 0, 49 | "attachmentsCount" : 0, 50 | "shouldDisplayMessage" : true, 51 | "hasContent" : true 52 | }, { 53 | "name" : "单击", 54 | "time" : { 55 | "start" : 1562116685355, 56 | "stop" : 1562116685436, 57 | "duration" : 81 58 | }, 59 | "status" : "passed", 60 | "steps" : [ ], 61 | "attachments" : [ ], 62 | "parameters" : [ { 63 | "name" : "operate", 64 | "value" : "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}" 65 | } ], 66 | "stepsCount" : 0, 67 | "attachmentsCount" : 0, 68 | "shouldDisplayMessage" : false, 69 | "hasContent" : true 70 | }, { 71 | "name" : "断言", 72 | "time" : { 73 | "start" : 1562116685436, 74 | "stop" : 1562116685443, 75 | "duration" : 7 76 | }, 77 | "status" : "passed", 78 | "steps" : [ ], 79 | "attachments" : [ ], 80 | "parameters" : [ { 81 | "name" : "operate", 82 | "value" : "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}" 83 | } ], 84 | "stepsCount" : 0, 85 | "attachmentsCount" : 0, 86 | "shouldDisplayMessage" : false, 87 | "hasContent" : true 88 | } ], 89 | "attachments" : [ ], 90 | "parameters" : [ ], 91 | "stepsCount" : 3, 92 | "attachmentsCount" : 0, 93 | "shouldDisplayMessage" : false, 94 | "hasContent" : true 95 | }, 96 | "afterStages" : [ ], 97 | "labels" : [ { 98 | "name" : "feature", 99 | "value" : "百度feature" 100 | }, { 101 | "name" : "story", 102 | "value" : "访问百度首页123" 103 | }, { 104 | "name" : "parentSuite", 105 | "value" : "tests.test_case" 106 | }, { 107 | "name" : "suite", 108 | "value" : "test_pytest" 109 | }, { 110 | "name" : "subSuite", 111 | "value" : "TestClass" 112 | }, { 113 | "name" : "host", 114 | "value" : "luokaideMacBook-Pro.local" 115 | }, { 116 | "name" : "thread", 117 | "value" : "54723-MainThread" 118 | }, { 119 | "name" : "framework", 120 | "value" : "pytest" 121 | }, { 122 | "name" : "language", 123 | "value" : "cpython3" 124 | }, { 125 | "name" : "package", 126 | "value" : "tests.test_case.test_pytest" 127 | }, { 128 | "name" : "resultFormat", 129 | "value" : "allure2" 130 | } ], 131 | "parameters" : [ ], 132 | "links" : [ ], 133 | "hidden" : true, 134 | "retry" : true, 135 | "extra" : { 136 | "categories" : [ ], 137 | "tags" : [ ] 138 | }, 139 | "source" : "a3b1e8730646802c.json", 140 | "parameterValues" : [ ] 141 | } -------------------------------------------------------------------------------- /report/data/test-cases/a46ab0fcd1e4e1e8.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "a46ab0fcd1e4e1e8", 3 | "name" : "test_two", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_two", 5 | "historyId" : "a4addfc73a872e810a368dd6739346da", 6 | "time" : { 7 | "start" : 1562124008981, 8 | "stop" : 1562124009597, 9 | "duration" : 616 10 | }, 11 | "status" : "failed", 12 | "statusMessage" : "AssertionError: assert '百度一下' in 'test1111_百度搜索'", 13 | "statusTrace" : "self = \ngetDriver = \n\n @allure.story('判断是否有234')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'test1111_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError", 14 | "flaky" : false, 15 | "newFailed" : false, 16 | "beforeStages" : [ { 17 | "name" : "getDriver", 18 | "time" : { 19 | "start" : 1562124004128, 20 | "stop" : 1562124007958, 21 | "duration" : 3830 22 | }, 23 | "status" : "passed", 24 | "steps" : [ ], 25 | "attachments" : [ ], 26 | "parameters" : [ ], 27 | "stepsCount" : 0, 28 | "attachmentsCount" : 0, 29 | "shouldDisplayMessage" : false, 30 | "hasContent" : false 31 | } ], 32 | "afterStages" : [ ], 33 | "labels" : [ { 34 | "name" : "story", 35 | "value" : "判断是否有234" 36 | }, { 37 | "name" : "feature", 38 | "value" : "百度feature" 39 | }, { 40 | "name" : "parentSuite", 41 | "value" : "tests.test_case" 42 | }, { 43 | "name" : "suite", 44 | "value" : "test_pytest" 45 | }, { 46 | "name" : "subSuite", 47 | "value" : "TestClass" 48 | }, { 49 | "name" : "host", 50 | "value" : "luokaideMacBook-Pro.local" 51 | }, { 52 | "name" : "thread", 53 | "value" : "55259-MainThread" 54 | }, { 55 | "name" : "framework", 56 | "value" : "pytest" 57 | }, { 58 | "name" : "language", 59 | "value" : "cpython3" 60 | }, { 61 | "name" : "package", 62 | "value" : "tests.test_case.test_pytest" 63 | }, { 64 | "name" : "resultFormat", 65 | "value" : "allure2" 66 | } ], 67 | "parameters" : [ ], 68 | "links" : [ ], 69 | "hidden" : true, 70 | "retry" : true, 71 | "extra" : { 72 | "categories" : [ ], 73 | "tags" : [ ] 74 | }, 75 | "source" : "a46ab0fcd1e4e1e8.json", 76 | "parameterValues" : [ ] 77 | } -------------------------------------------------------------------------------- /report/data/test-cases/f776ed5fcdbff14c.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid" : "f776ed5fcdbff14c", 3 | "name" : "test_one", 4 | "fullName" : "tests.test_case.test_pytest.TestClass#test_one", 5 | "historyId" : "bb3f89cd30617b1b81dc9875c880623e", 6 | "time" : { 7 | "start" : 1562123862676, 8 | "stop" : 1562123863524, 9 | "duration" : 848 10 | }, 11 | "status" : "passed", 12 | "flaky" : false, 13 | "newFailed" : false, 14 | "beforeStages" : [ { 15 | "name" : "getDriver", 16 | "time" : { 17 | "start" : 1562123859334, 18 | "stop" : 1562123862673, 19 | "duration" : 3339 20 | }, 21 | "status" : "passed", 22 | "steps" : [ ], 23 | "attachments" : [ ], 24 | "parameters" : [ ], 25 | "stepsCount" : 0, 26 | "attachmentsCount" : 0, 27 | "shouldDisplayMessage" : false, 28 | "hasContent" : false 29 | } ], 30 | "testStage" : { 31 | "status" : "passed", 32 | "steps" : [ { 33 | "name" : "发送文本", 34 | "time" : { 35 | "start" : 1562123862697, 36 | "stop" : 1562123863419, 37 | "duration" : 722 38 | }, 39 | "status" : "broken", 40 | "statusMessage" : "KeyError: 'defaultframe'\n", 41 | "statusTrace" : " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n", 42 | "steps" : [ ], 43 | "attachments" : [ ], 44 | "parameters" : [ { 45 | "name" : "operate", 46 | "value" : "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}" 47 | } ], 48 | "stepsCount" : 0, 49 | "attachmentsCount" : 0, 50 | "shouldDisplayMessage" : true, 51 | "hasContent" : true 52 | }, { 53 | "name" : "单击", 54 | "time" : { 55 | "start" : 1562123863438, 56 | "stop" : 1562123863518, 57 | "duration" : 80 58 | }, 59 | "status" : "passed", 60 | "steps" : [ ], 61 | "attachments" : [ ], 62 | "parameters" : [ { 63 | "name" : "operate", 64 | "value" : "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}" 65 | } ], 66 | "stepsCount" : 0, 67 | "attachmentsCount" : 0, 68 | "shouldDisplayMessage" : false, 69 | "hasContent" : true 70 | }, { 71 | "name" : "断言", 72 | "time" : { 73 | "start" : 1562123863518, 74 | "stop" : 1562123863524, 75 | "duration" : 6 76 | }, 77 | "status" : "passed", 78 | "steps" : [ ], 79 | "attachments" : [ ], 80 | "parameters" : [ { 81 | "name" : "operate", 82 | "value" : "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}" 83 | } ], 84 | "stepsCount" : 0, 85 | "attachmentsCount" : 0, 86 | "shouldDisplayMessage" : false, 87 | "hasContent" : true 88 | } ], 89 | "attachments" : [ ], 90 | "parameters" : [ ], 91 | "stepsCount" : 3, 92 | "attachmentsCount" : 0, 93 | "shouldDisplayMessage" : false, 94 | "hasContent" : true 95 | }, 96 | "afterStages" : [ ], 97 | "labels" : [ { 98 | "name" : "story", 99 | "value" : "访问百度首页234" 100 | }, { 101 | "name" : "feature", 102 | "value" : "百度feature" 103 | }, { 104 | "name" : "parentSuite", 105 | "value" : "tests.test_case" 106 | }, { 107 | "name" : "suite", 108 | "value" : "test_pytest" 109 | }, { 110 | "name" : "subSuite", 111 | "value" : "TestClass" 112 | }, { 113 | "name" : "host", 114 | "value" : "luokaideMacBook-Pro.local" 115 | }, { 116 | "name" : "thread", 117 | "value" : "55033-MainThread" 118 | }, { 119 | "name" : "framework", 120 | "value" : "pytest" 121 | }, { 122 | "name" : "language", 123 | "value" : "cpython3" 124 | }, { 125 | "name" : "package", 126 | "value" : "tests.test_case.test_pytest" 127 | }, { 128 | "name" : "resultFormat", 129 | "value" : "allure2" 130 | } ], 131 | "parameters" : [ ], 132 | "links" : [ ], 133 | "hidden" : true, 134 | "retry" : true, 135 | "extra" : { 136 | "categories" : [ ], 137 | "tags" : [ ] 138 | }, 139 | "source" : "f776ed5fcdbff14c.json", 140 | "parameterValues" : [ ] 141 | } -------------------------------------------------------------------------------- /report/export/influxDbData.txt: -------------------------------------------------------------------------------- 1 | launch_status failed=1 1562125609000000000 2 | launch_status broken=0 1562125609000000000 3 | launch_status passed=2 1562125609000000000 4 | launch_status skipped=0 1562125609000000000 5 | launch_status unknown=0 1562125609000000000 6 | launch_time duration=1335032 1562125609000000000 7 | launch_time min_duration=719 1562125609000000000 8 | launch_time max_duration=5276 1562125609000000000 9 | launch_time sum_duration=10473 1562125609000000000 10 | launch_problems product_defects=1 1562125609000000000 11 | launch_retries retries=12 1562125609000000000 12 | launch_retries run=3 1562125609000000000 13 | -------------------------------------------------------------------------------- /report/export/mail.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Allure Report summary mail 6 | 7 | 8 | Mail body 9 | 10 | 11 | -------------------------------------------------------------------------------- /report/export/prometheusData.txt: -------------------------------------------------------------------------------- 1 | launch_status_failed 1 2 | launch_status_broken 0 3 | launch_status_passed 2 4 | launch_status_skipped 0 5 | launch_status_unknown 0 6 | launch_time_duration 1335032 7 | launch_time_min_duration 719 8 | launch_time_max_duration 5276 9 | launch_time_sum_duration 10473 10 | launch_problems_product_defects 1 11 | launch_retries_retries 12 12 | launch_retries_run 3 13 | -------------------------------------------------------------------------------- /report/favicon.ico: -------------------------------------------------------------------------------- 1 | module.exports = __webpack_public_path__ + "favicon.ico"; -------------------------------------------------------------------------------- /report/history/categories-trend.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "data" : { 3 | "Product defects" : 1 4 | } 5 | } ] -------------------------------------------------------------------------------- /report/history/duration-trend.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "data" : { 3 | "duration" : 1335032 4 | } 5 | } ] -------------------------------------------------------------------------------- /report/history/history-trend.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "data" : { 3 | "failed" : 1, 4 | "broken" : 0, 5 | "skipped" : 0, 6 | "passed" : 2, 7 | "unknown" : 0, 8 | "total" : 3 9 | } 10 | } ] -------------------------------------------------------------------------------- /report/history/history.json: -------------------------------------------------------------------------------- 1 | { 2 | "d4e6df5082b284465c98a2ea3b12fb1a" : { 3 | "statistic" : { 4 | "failed" : 0, 5 | "broken" : 0, 6 | "skipped" : 0, 7 | "passed" : 1, 8 | "unknown" : 0, 9 | "total" : 1 10 | }, 11 | "items" : [ { 12 | "uid" : "627d1a6748cffb3a", 13 | "status" : "passed", 14 | "time" : { 15 | "start" : 1562125597087, 16 | "stop" : 1562125601565, 17 | "duration" : 4478 18 | } 19 | } ] 20 | }, 21 | "a4addfc73a872e810a368dd6739346da" : { 22 | "statistic" : { 23 | "failed" : 1, 24 | "broken" : 0, 25 | "skipped" : 0, 26 | "passed" : 0, 27 | "unknown" : 0, 28 | "total" : 1 29 | }, 30 | "items" : [ { 31 | "uid" : "8f4da5e50bcafd58", 32 | "status" : "failed", 33 | "statusDetails" : "AssertionError: assert '百度一下' in 'bcd码_百度搜索'", 34 | "time" : { 35 | "start" : 1562124266533, 36 | "stop" : 1562124267252, 37 | "duration" : 719 38 | } 39 | } ] 40 | }, 41 | "bb3f89cd30617b1b81dc9875c880623e" : { 42 | "statistic" : { 43 | "failed" : 0, 44 | "broken" : 0, 45 | "skipped" : 0, 46 | "passed" : 1, 47 | "unknown" : 0, 48 | "total" : 1 49 | }, 50 | "items" : [ { 51 | "uid" : "170a3035cde28e7b", 52 | "status" : "passed", 53 | "time" : { 54 | "start" : 1562125512194, 55 | "stop" : 1562125517470, 56 | "duration" : 5276 57 | } 58 | } ] 59 | } 60 | } -------------------------------------------------------------------------------- /report/history/retry-trend.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "data" : { 3 | "run" : 3, 4 | "retry" : 12 5 | } 6 | } ] -------------------------------------------------------------------------------- /report/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Allure Report 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /report/plugins/behaviors/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | allure.api.addTranslation('en', { 4 | tab: { 5 | behaviors: { 6 | name: 'Behaviors' 7 | } 8 | }, 9 | widget: { 10 | behaviors: { 11 | name: 'Features by stories', 12 | showAll: 'show all' 13 | } 14 | } 15 | }); 16 | 17 | allure.api.addTranslation('ru', { 18 | tab: { 19 | behaviors: { 20 | name: 'Функциональность' 21 | } 22 | }, 23 | widget: { 24 | behaviors: { 25 | name: 'Функциональность', 26 | showAll: 'показать все' 27 | } 28 | } 29 | }); 30 | 31 | allure.api.addTranslation('zh', { 32 | tab: { 33 | behaviors: { 34 | name: '功能' 35 | } 36 | }, 37 | widget: { 38 | behaviors: { 39 | name: '特性场景', 40 | showAll: '显示所有' 41 | } 42 | } 43 | }); 44 | 45 | allure.api.addTranslation('de', { 46 | tab: { 47 | behaviors: { 48 | name: 'Verhalten' 49 | } 50 | }, 51 | widget: { 52 | behaviors: { 53 | name: 'Features nach Stories', 54 | showAll: 'Zeige alle' 55 | } 56 | } 57 | }); 58 | 59 | allure.api.addTranslation('he', { 60 | tab: { 61 | behaviors: { 62 | name: 'התנהגויות' 63 | } 64 | }, 65 | widget: { 66 | behaviors: { 67 | name: 'תכונות לפי סיפורי משתמש', 68 | showAll: 'הצג הכול' 69 | } 70 | } 71 | }); 72 | 73 | allure.api.addTranslation('br', { 74 | tab: { 75 | behaviors: { 76 | name: 'Comportamentos' 77 | } 78 | }, 79 | widget: { 80 | behaviors: { 81 | name: 'Funcionalidades por história', 82 | showAll: 'Mostrar tudo' 83 | } 84 | } 85 | }); 86 | 87 | allure.api.addTranslation('ja', { 88 | tab: { 89 | behaviors: { 90 | name: '振る舞い' 91 | } 92 | }, 93 | widget: { 94 | behaviors: { 95 | name: 'ストーリー別の機能', 96 | showAll: '全て表示' 97 | } 98 | } 99 | }); 100 | 101 | allure.api.addTranslation('es', { 102 | tab: { 103 | behaviors: { 104 | name: 'Funcionalidades' 105 | } 106 | }, 107 | widget: { 108 | behaviors: { 109 | name: 'Funcionalidades por Historias de Usuario', 110 | showAll: 'mostrar todo' 111 | } 112 | } 113 | }); 114 | 115 | allure.api.addTranslation('kr', { 116 | tab: { 117 | behaviors: { 118 | name: '동작' 119 | } 120 | }, 121 | widget: { 122 | behaviors: { 123 | name: '스토리별 기능', 124 | showAll: '전체 보기' 125 | } 126 | } 127 | }); 128 | 129 | allure.api.addTab('behaviors', { 130 | title: 'tab.behaviors.name', icon: 'fa fa-list', 131 | route: 'behaviors(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)', 132 | onEnter: (function (testGroup, testResult, testResultTab) { 133 | return new allure.components.TreeLayout({ 134 | testGroup: testGroup, 135 | testResult: testResult, 136 | testResultTab: testResultTab, 137 | tabName: 'tab.behaviors.name', 138 | baseUrl: 'behaviors', 139 | url: 'data/behaviors.json', 140 | csvUrl: 'data/behaviors.csv' 141 | }); 142 | }) 143 | }); 144 | 145 | allure.api.addWidget('widgets', 'behaviors', allure.components.WidgetStatusView.extend({ 146 | rowTag: 'a', 147 | title: 'widget.behaviors.name', 148 | baseUrl: 'behaviors', 149 | showLinks: true 150 | })); -------------------------------------------------------------------------------- /report/plugins/packages/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | allure.api.addTranslation('en', { 4 | tab: { 5 | packages: { 6 | name: 'Packages' 7 | } 8 | } 9 | }); 10 | 11 | allure.api.addTranslation('ru', { 12 | tab: { 13 | packages: { 14 | name: 'Пакеты' 15 | } 16 | } 17 | }); 18 | 19 | allure.api.addTranslation('zh', { 20 | tab: { 21 | packages: { 22 | name: '包' 23 | } 24 | } 25 | }); 26 | 27 | allure.api.addTranslation('de', { 28 | tab: { 29 | packages: { 30 | name: 'Pakete' 31 | } 32 | } 33 | }); 34 | 35 | allure.api.addTranslation('he', { 36 | tab: { 37 | packages: { 38 | name: 'חבילות' 39 | } 40 | } 41 | }); 42 | 43 | allure.api.addTranslation('br', { 44 | tab: { 45 | packages: { 46 | name: 'Pacotes' 47 | } 48 | } 49 | }); 50 | 51 | allure.api.addTranslation('ja', { 52 | tab: { 53 | packages: { 54 | name: 'パッケージ' 55 | } 56 | } 57 | }); 58 | 59 | allure.api.addTranslation('es', { 60 | tab: { 61 | packages: { 62 | name: 'Paquetes' 63 | } 64 | } 65 | }); 66 | 67 | allure.api.addTranslation('kr', { 68 | tab: { 69 | packages: { 70 | name: '패키지' 71 | } 72 | } 73 | }); 74 | 75 | allure.api.addTab('packages', { 76 | title: 'tab.packages.name', icon: 'fa fa-align-left', 77 | route: 'packages(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)', 78 | onEnter: (function (testGroup, testResult, testResultTab) { 79 | return new allure.components.TreeLayout({ 80 | testGroup: testGroup, 81 | testResult: testResult, 82 | testResultTab: testResultTab, 83 | tabName: 'tab.packages.name', 84 | baseUrl: 'packages', 85 | url: 'data/packages.json' 86 | }); 87 | }) 88 | }); 89 | -------------------------------------------------------------------------------- /report/plugins/screen-diff/index.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var settings = allure.getPluginSettings('screen-diff', {diffType: 'diff'}); 3 | 4 | function renderImage(src) { 5 | return '
' + 6 | '' + 7 | '
'; 8 | } 9 | 10 | function renderDiffContent(type, data) { 11 | function findImage(name) { 12 | if (data.testStage && data.testStage.attachments) { 13 | return data.testStage.attachments.filter(function (attachment) { 14 | return attachment.name === name; 15 | })[0]; 16 | } 17 | return null; 18 | } 19 | 20 | var diffImage = findImage('diff'); 21 | var actualImage = findImage('actual'); 22 | var expectedImage = findImage('expected'); 23 | 24 | if (!diffImage && !actualImage && !expectedImage) { 25 | return 'Diff, actual and expected image have not been provided.'; 26 | } 27 | 28 | if (type === 'diff') { 29 | if (!diffImage) { 30 | return renderImage(actualImage.source); 31 | } 32 | return renderImage(diffImage.source); 33 | } 34 | if (type === 'overlay') { 35 | return '
' + 36 | '' + 37 | '
' + 38 | '' + 39 | '
' + 40 | '
'; 41 | } 42 | } 43 | 44 | var ScreenDiffView = Backbone.Marionette.View.extend({ 45 | className: 'pane__section', 46 | events: { 47 | 'click [name="screen-diff-type"]': 'onDiffTypeChange', 48 | 'mousemove .screen-diff__overlay': 'onOverlayMove' 49 | }, 50 | templateContext: function () { 51 | return { 52 | diffType: settings.get('diffType') 53 | } 54 | }, 55 | template: function (data) { 56 | var testType = data.labels.filter(function (label) { 57 | return label.name === 'testType' 58 | })[0]; 59 | 60 | if (!testType || testType.value !== 'screenshotDiff') { 61 | return ''; 62 | } 63 | 64 | return '

Screen Diff

' + 65 | '
' + 66 | '
' + 67 | '' + 68 | '' + 69 | '
' + 70 | renderDiffContent(data.diffType, data) + 71 | '
'; 72 | }, 73 | adjustImageSize: function (event) { 74 | var overImage = this.$(event.target); 75 | overImage.width(overImage.width()); 76 | }, 77 | onRender: function () { 78 | const diffType = settings.get('diffType'); 79 | this.$('[name="screen-diff-type"][value="' + diffType + '"]').prop('checked', true); 80 | if (diffType === 'overlay') { 81 | this.$('.screen-diff__image-over img').on('load', this.adjustImageSize.bind(this)); 82 | } 83 | }, 84 | onOverlayMove: function (event) { 85 | var pageX = event.pageX; 86 | var containerScroll = this.$('.screen-diff__container').scrollLeft(); 87 | var elementX = event.currentTarget.getBoundingClientRect().left; 88 | var delta = pageX - elementX + containerScroll; 89 | this.$('.screen-diff__image-over').width(delta); 90 | }, 91 | onDiffTypeChange: function (event) { 92 | settings.save('diffType', event.target.value); 93 | this.render(); 94 | } 95 | }); 96 | allure.api.addTestResultBlock(ScreenDiffView, {position: 'before'}); 97 | })(); 98 | -------------------------------------------------------------------------------- /report/plugins/screen-diff/styles.css: -------------------------------------------------------------------------------- 1 | .screen-diff__switchers { 2 | margin-bottom: 1em; 3 | } 4 | 5 | .screen-diff__switchers label + label { 6 | margin-left: 1em; 7 | } 8 | 9 | .screen-diff__overlay { 10 | position: relative; 11 | cursor: col-resize; 12 | } 13 | 14 | .screen-diff__container { 15 | overflow-x: auto; 16 | } 17 | 18 | .screen-diff__image-over { 19 | top: 0; 20 | left: 0; 21 | bottom: 0; 22 | background: #fff; 23 | position: absolute; 24 | overflow: hidden; 25 | box-shadow: 2px 0 1px -1px #aaa; 26 | } 27 | -------------------------------------------------------------------------------- /report/widgets/behaviors.json: -------------------------------------------------------------------------------- 1 | { 2 | "total" : 2, 3 | "items" : [ { 4 | "uid" : "3fdb9c22411d31bf190d07c864a52ab7", 5 | "name" : "百度feature", 6 | "statistic" : { 7 | "failed" : 1, 8 | "broken" : 0, 9 | "skipped" : 0, 10 | "passed" : 0, 11 | "unknown" : 0, 12 | "total" : 1 13 | } 14 | }, { 15 | "uid" : "70ed4f59de4a8a5ad0e39475526a5002", 16 | "name" : "8891中古车", 17 | "statistic" : { 18 | "failed" : 0, 19 | "broken" : 0, 20 | "skipped" : 0, 21 | "passed" : 1, 22 | "unknown" : 0, 23 | "total" : 1 24 | } 25 | } ] 26 | } -------------------------------------------------------------------------------- /report/widgets/categories-trend.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "data" : { 3 | "Product defects" : 1 4 | } 5 | } ] -------------------------------------------------------------------------------- /report/widgets/categories.json: -------------------------------------------------------------------------------- 1 | { 2 | "total" : 1, 3 | "items" : [ { 4 | "uid" : "8fb3a91ba5aaf9de24cc8a92edc82b5d", 5 | "name" : "Product defects", 6 | "statistic" : { 7 | "failed" : 1, 8 | "broken" : 0, 9 | "skipped" : 0, 10 | "passed" : 0, 11 | "unknown" : 0, 12 | "total" : 1 13 | } 14 | } ] 15 | } -------------------------------------------------------------------------------- /report/widgets/duration-trend.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "data" : { 3 | "duration" : 1335032 4 | } 5 | } ] -------------------------------------------------------------------------------- /report/widgets/duration.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "uid" : "8f4da5e50bcafd58", 3 | "name" : "test_two", 4 | "time" : { 5 | "start" : 1562124266533, 6 | "stop" : 1562124267252, 7 | "duration" : 719 8 | }, 9 | "status" : "failed", 10 | "severity" : "normal" 11 | }, { 12 | "uid" : "170a3035cde28e7b", 13 | "name" : "test_one", 14 | "time" : { 15 | "start" : 1562125512194, 16 | "stop" : 1562125517470, 17 | "duration" : 5276 18 | }, 19 | "status" : "passed", 20 | "severity" : "normal" 21 | }, { 22 | "uid" : "627d1a6748cffb3a", 23 | "name" : "test_login", 24 | "time" : { 25 | "start" : 1562125597087, 26 | "stop" : 1562125601565, 27 | "duration" : 4478 28 | }, 29 | "status" : "passed", 30 | "severity" : "normal" 31 | } ] -------------------------------------------------------------------------------- /report/widgets/environment.json: -------------------------------------------------------------------------------- 1 | [ ] -------------------------------------------------------------------------------- /report/widgets/executors.json: -------------------------------------------------------------------------------- 1 | [ ] -------------------------------------------------------------------------------- /report/widgets/history-trend.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "data" : { 3 | "failed" : 1, 4 | "broken" : 0, 5 | "skipped" : 0, 6 | "passed" : 2, 7 | "unknown" : 0, 8 | "total" : 3 9 | } 10 | } ] -------------------------------------------------------------------------------- /report/widgets/launch.json: -------------------------------------------------------------------------------- 1 | [ ] -------------------------------------------------------------------------------- /report/widgets/retry-trend.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "data" : { 3 | "run" : 3, 4 | "retry" : 12 5 | } 6 | } ] -------------------------------------------------------------------------------- /report/widgets/severity.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "uid" : "170a3035cde28e7b", 3 | "name" : "test_one", 4 | "time" : { 5 | "start" : 1562125512194, 6 | "stop" : 1562125517470, 7 | "duration" : 5276 8 | }, 9 | "status" : "passed", 10 | "severity" : "normal" 11 | }, { 12 | "uid" : "627d1a6748cffb3a", 13 | "name" : "test_login", 14 | "time" : { 15 | "start" : 1562125597087, 16 | "stop" : 1562125601565, 17 | "duration" : 4478 18 | }, 19 | "status" : "passed", 20 | "severity" : "normal" 21 | }, { 22 | "uid" : "8f4da5e50bcafd58", 23 | "name" : "test_two", 24 | "time" : { 25 | "start" : 1562124266533, 26 | "stop" : 1562124267252, 27 | "duration" : 719 28 | }, 29 | "status" : "failed", 30 | "severity" : "normal" 31 | } ] -------------------------------------------------------------------------------- /report/widgets/status-chart.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "uid" : "8f4da5e50bcafd58", 3 | "name" : "test_two", 4 | "time" : { 5 | "start" : 1562124266533, 6 | "stop" : 1562124267252, 7 | "duration" : 719 8 | }, 9 | "status" : "failed", 10 | "severity" : "normal" 11 | }, { 12 | "uid" : "170a3035cde28e7b", 13 | "name" : "test_one", 14 | "time" : { 15 | "start" : 1562125512194, 16 | "stop" : 1562125517470, 17 | "duration" : 5276 18 | }, 19 | "status" : "passed", 20 | "severity" : "normal" 21 | }, { 22 | "uid" : "627d1a6748cffb3a", 23 | "name" : "test_login", 24 | "time" : { 25 | "start" : 1562125597087, 26 | "stop" : 1562125601565, 27 | "duration" : 4478 28 | }, 29 | "status" : "passed", 30 | "severity" : "normal" 31 | } ] -------------------------------------------------------------------------------- /report/widgets/suites.json: -------------------------------------------------------------------------------- 1 | { 2 | "total" : 1, 3 | "items" : [ { 4 | "uid" : "0cc86a2310b4d245e3f2a5a97552b3a2", 5 | "name" : "tests.test_case", 6 | "statistic" : { 7 | "failed" : 1, 8 | "broken" : 0, 9 | "skipped" : 0, 10 | "passed" : 2, 11 | "unknown" : 0, 12 | "total" : 3 13 | } 14 | } ] 15 | } -------------------------------------------------------------------------------- /report/widgets/summary.json: -------------------------------------------------------------------------------- 1 | { 2 | "reportName" : "Allure Report", 3 | "testRuns" : [ ], 4 | "statistic" : { 5 | "failed" : 1, 6 | "broken" : 0, 7 | "skipped" : 0, 8 | "passed" : 2, 9 | "unknown" : 0, 10 | "total" : 3 11 | }, 12 | "time" : { 13 | "start" : 1562124266533, 14 | "stop" : 1562125601565, 15 | "duration" : 1335032, 16 | "minDuration" : 719, 17 | "maxDuration" : 5276, 18 | "sumDuration" : 10473 19 | } 20 | } -------------------------------------------------------------------------------- /requirement.txt: -------------------------------------------------------------------------------- 1 | allure-pytest==2.8.6 2 | allure-python-commons==2.8.6 3 | Appium-Python-Client==0.47 4 | atomicwrites==1.3.0 5 | attrs==19.3.0 6 | certifi==2019.9.11 7 | chardet==3.0.4 8 | colorama==0.4.1 9 | colorlog==4.0.2 10 | ddt==1.2.1 11 | decorator==4.4.1 12 | facebook-wda==0.4.1 13 | filetype==1.0.5 14 | har2case==0.3.1 15 | httprunner==2.3.1 16 | idna==2.8 17 | importlib-metadata==0.23 18 | Jinja2==2.10.3 19 | jsonpath==0.82 20 | MarkupSafe==1.1.1 21 | more-itertools==7.2.0 22 | numpy==1.17.3 23 | opencv-python==4.1.1.26 24 | packaging==19.2 25 | Pillow==6.2.1 26 | pipenv==2018.11.26 27 | pluggy==0.13.0 28 | py==1.8.0 29 | pyparsing==2.4.2 30 | pytest==5.2.1 31 | PyYAML==5.1.2 32 | requests==2.22.0 33 | requests-toolbelt==0.9.1 34 | retry==0.9.2 35 | selenium==3.141.0 36 | six==1.12.0 37 | urllib3==1.25.6 38 | virtualenv==16.7.5 39 | virtualenv-clone==0.5.3 40 | wcwidth==0.1.7 41 | zipp==0.6.0 42 | -------------------------------------------------------------------------------- /run.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import os 3 | 4 | PATH = lambda p: os.path.abspath( 5 | os.path.join(os.path.dirname(__file__), p) 6 | ) 7 | 8 | if __name__=='__main__': 9 | # pytest.main(['-v','--maxfail=3','./tests/test_case/','--alluredir','/tmp/my_allure_results','--clean']) 10 | pytest.main(['-v','--maxfail=3','./tests/test_case/','--alluredir','/Users/luokai/PycharmProjects/UIautocn/tmp/my_allure_results']) 11 | -------------------------------------------------------------------------------- /run_android.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import os 3 | import subprocess 4 | import time 5 | 6 | PATH = lambda p: os.path.abspath( 7 | os.path.join(os.path.dirname(__file__), p) 8 | ) 9 | 10 | def kill_adb(): 11 | os.popen("killall adb") 12 | os.system("adb start-server") 13 | 14 | if __name__=='__main__': 15 | cmd = "appium --session-override -p 4700 -bp 4701 -U emulator-5554" 16 | subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize=1,close_fds=True) 17 | time.sleep(10) 18 | pytest.main(['-v','--maxfail=3','./tests/android_test_case/test_android_ad.py','--html=./report/html/report.html']) -------------------------------------------------------------------------------- /run_iOS.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import os 3 | 4 | PATH = lambda p: os.path.abspath( 5 | os.path.join(os.path.dirname(__file__), p) 6 | ) 7 | 8 | if __name__=='__main__': 9 | pytest.main(['-v','--maxfail=3','./tests/iOS_test_case/','--alluredir','/Users/kevin/Project/UIautocn/tmp/my_allure_results']) 10 | -------------------------------------------------------------------------------- /tests/android_test_case/105.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tests/android_test_case/105.apk -------------------------------------------------------------------------------- /tests/android_test_case/__pycache__/conftest.cpython-36-pytest-5.0.0.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tests/android_test_case/__pycache__/conftest.cpython-36-pytest-5.0.0.pyc -------------------------------------------------------------------------------- /tests/android_test_case/__pycache__/test_android_contacts.cpython-36-pytest-5.0.0.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tests/android_test_case/__pycache__/test_android_contacts.cpython-36-pytest-5.0.0.pyc -------------------------------------------------------------------------------- /tests/android_test_case/conftest.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import allure 3 | import yaml 4 | import os 5 | from appium import webdriver 6 | 7 | from run import PATH 8 | 9 | 10 | APPIUM_LOCAL_HOST_URL = 'http://localhost:4723/wd/hub' 11 | PLATFORM_VERSION = '9' 12 | 13 | @pytest.fixture(scope="function") 14 | def getDriver(request): 15 | desired_caps = { 16 | 'appPackage': 'com.addcn.car8891', 17 | 'appActivity': 'com.addcn.car8891.view.ui.activity.WelcomeActivity', 18 | 'platformName': 'android', 19 | 'platformVersion': PLATFORM_VERSION, 20 | 'deviceName': '4d9b81a6', 21 | # 'app': PATH('./tests/android_test_case/105.apk'), 22 | 'autoGrantPermissions': True, 23 | 'automationName': "uiautomator2" 24 | } 25 | driver = webdriver.Remote(APPIUM_LOCAL_HOST_URL, desired_caps) 26 | driver.implicitly_wait(5000) 27 | # 28 | # def fin(): 29 | # driver.quit() 30 | # 31 | # request.addfinalizer(fin) 32 | return driver # provide the fixture value 33 | -------------------------------------------------------------------------------- /tests/android_test_case/test_android_first.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | import allure 4 | import pytest 5 | from Business.Android.firstBusiness import FirstBusiness 6 | from Base import utils 7 | import sys 8 | 9 | 10 | @allure.feature('安卓首頁业务') 11 | class TestFirstAndroid(object): 12 | pass 13 | 14 | @allure.story('首頁-頂部搜尋') 15 | def test_search(self, getDriver): 16 | result = FirstBusiness(getDriver).close_mask().serch_keyword("測試") 17 | assert "測試" == result 18 | 19 | @allure.story('首頁-四大金剛') 20 | def test_four_nav(self, getDriver): 21 | result = FirstBusiness(getDriver).check_four_nav() 22 | assert "便捷的汽車買賣交易平台" in result 23 | 24 | @allure.story('首頁-8891看板') 25 | def test_8891news(self, getDriver): 26 | result = FirstBusiness(getDriver).check_8891news() 27 | assert result != None 28 | 29 | 30 | if __name__ == '__main__': 31 | pytest.main(['./tests/android_test_case/', '--setup-show', '--html=./report/html/report.html']) 32 | -------------------------------------------------------------------------------- /tests/iOS_test_case/3.5.1.ipa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tests/iOS_test_case/3.5.1.ipa -------------------------------------------------------------------------------- /tests/iOS_test_case/conftest.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import allure 3 | import yaml 4 | import os 5 | from appium import webdriver 6 | 7 | from run import PATH 8 | 9 | 10 | APPIUM_LOCAL_HOST_URL = 'http://localhost:4723/wd/hub' 11 | PLATFORM_VERSION = '9' 12 | 13 | @pytest.fixture(scope="class") 14 | def getDriver(request): 15 | desired_caps = { 16 | "platformName": "iOS", 17 | "automationName": "XCUITest", 18 | "autoAcceptAlerts": True, 19 | "noReset": True, 20 | "platformVersion": "13.0", 21 | "deviceName": "iPhone Simulator", 22 | "app": "/Users/kevin/Project/UIautocn/tests/iOS_test_case/3.5.1.1.ipa" 23 | } 24 | driver = webdriver.Remote(APPIUM_LOCAL_HOST_URL, desired_caps) 25 | driver.implicitly_wait(5000) 26 | 27 | return driver 28 | -------------------------------------------------------------------------------- /tests/iOS_test_case/test_iOS_ad.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | import allure 4 | import os 5 | import pytest 6 | from PIL import Image 7 | from time import sleep 8 | from Base import utils 9 | import cv2 10 | import numpy as np 11 | 12 | from functools import reduce 13 | from appium import webdriver 14 | 15 | # Returns abs path relative to this file and not cwd 16 | # PATH = lambda p: os.path.abspath( 17 | # os.path.join(os.path.dirname(__file__), p) 18 | # ) 19 | from run import PATH 20 | 21 | 22 | @allure.feature('iOS廣告业务') 23 | class TestAdvertAndroid(object): 24 | 25 | @allure.story('首次启动app') 26 | def test_first_open(self, getDriver): 27 | getDriver.find_element_by_accessibility_id("20181026 close").click() 28 | assert True 29 | 30 | 31 | @allure.story('顶部banner') 32 | def test_top_banner(self, getDriver): 33 | result=[] 34 | elementValue="name == 'home_banner0'" 35 | 36 | getDriver.find_element_by_ios_predicate("name == 'home_banner0'").click() 37 | 38 | # 截取banner图片,并加入list 39 | # TEMP_FILE1 = PATH("./tmp/usedCar_screenshot/top_banner1.png") 40 | # TEMP_FILE1 = utils.getElementImgHashByPredicate(getDriver, TEMP_FILE1, elementValue) 41 | # result.append(TEMP_FILE1) 42 | # getDriver.find_element_by_ios_predicate("name == 'home_banner0'").click() 43 | 44 | assert True 45 | 46 | if __name__ == '__main__': 47 | pytest.main(['./tests/iOS_test_case/']) 48 | -------------------------------------------------------------------------------- /tests/test_case/__pycache__/conftest.cpython-36-pytest-5.0.0.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tests/test_case/__pycache__/conftest.cpython-36-pytest-5.0.0.pyc -------------------------------------------------------------------------------- /tests/test_case/__pycache__/test_pytest.cpython-36-pytest-5.0.0.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tests/test_case/__pycache__/test_pytest.cpython-36-pytest-5.0.0.pyc -------------------------------------------------------------------------------- /tests/test_case/__pycache__/test_pytest2.cpython-36-pytest-5.0.0.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tests/test_case/__pycache__/test_pytest2.cpython-36-pytest-5.0.0.pyc -------------------------------------------------------------------------------- /tmp/my_allure_results/01daa194-78ab-4b7a-9be7-6ad4cfaaf980-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_two", "status": "failed", "statusDetails": {"message": "AssertionError: assert '百度一下' in 'test1111_百度搜索'", "trace": "self = \ngetDriver = \n\n @allure.story('判断是否有234')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'test1111_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError"}, "start": 1562123535541, "stop": 1562123536021, "uuid": "ad5a9537-e662-41bc-9867-ae726268c5d9", "historyId": "a4addfc73a872e810a368dd6739346da", "fullName": "tests.test_case.test_pytest.TestClass#test_two", "labels": [{"name": "feature", "value": "百度feature"}, {"name": "story", "value": "判断是否有234"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "54958-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/0a8ab6b4-a140-404d-8002-6adb33bd9828-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_one", "status": "passed", "steps": [{"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}"}], "start": 1562123065772, "stop": 1562123066483}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}"}], "start": 1562123066500, "stop": 1562123066611}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}"}], "start": 1562123066613, "stop": 1562123066623}], "start": 1562123065750, "stop": 1562123066623, "uuid": "750a59e3-2446-4d70-bf3b-98875f515651", "historyId": "bb3f89cd30617b1b81dc9875c880623e", "fullName": "tests.test_case.test_pytest.TestClass#test_one", "labels": [{"name": "story", "value": "访问百度首页234"}, {"name": "feature", "value": "百度feature"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "54847-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/0bed024b-4b59-452d-b25d-a909d5447d71-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "a1c07a73-a626-4193-877c-e4d21cd3fcc2", "children": ["cedfa654-2558-44d5-8260-948fe9d5eb1b", "6c9ad640-5e16-4fb0-8a2c-a5cbaca42352"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562229214695, "stop": 1562229221455}], "start": 1562229214695, "stop": 1562229229740} -------------------------------------------------------------------------------- /tmp/my_allure_results/0d202f92-bb7e-4fd1-bb22-a854dac186fa-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_add_contacts", "status": "broken", "statusDetails": {"message": "KeyError: 'check'", "trace": "self = \ngetDriver = \n\n def test_add_contacts(self, getDriver):\n app = {\"driver\": getDriver,\"path\": PATH(\"/Users/luokai/PycharmProjects/UIautocn/Yamls/Android/loginTest.yaml\")}\n> page = BasePage(app)\n\ntests/android_test_case/test_android_contacts.py:21: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \nPageObject/Android/HomePage/BasePage.py:13: in __init__\n self.page = Pages.PagesObjects(_init)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = \nkwargs = {'driver': , 'test_msg...nfo': '关闭新手引导图', 'operate_type': 'click'}], 'testinfo': [{'id': 'test001', 'info': '打开app', 'title': '8891中古车登录用例'}]}]}\n\n def __init__(self, kwargs):\n self.driver = kwargs[\"driver\"]\n self.operateElement = OperateElement(self.driver)\n self.isOperate = True\n self.test_msg = kwargs[\"test_msg\"]\n self.testInfo = self.test_msg[1][\"testinfo\"]\n self.testCase = self.test_msg[1][\"testcase\"]\n> self.testcheck = self.test_msg[1][\"check\"]\nE KeyError: 'check'\n\nPageObject/Pages.py:30: KeyError"}, "start": 1563186720896, "stop": 1563186720900, "uuid": "1dfa1e69-9470-47e6-8e17-5c1ab41f1f2b", "historyId": "b703b4a1e6c51cbdfcd1decc16916015", "fullName": "tests.android_test_case.test_android_contacts.TestWebViewAndroid#test_add_contacts", "labels": [{"name": "feature", "value": "安卓业务"}, {"name": "parentSuite", "value": "tests.android_test_case"}, {"name": "suite", "value": "test_android_contacts"}, {"name": "subSuite", "value": "TestWebViewAndroid"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "69232-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.android_test_case.test_android_contacts"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/0dcdd16a-94c6-4447-bca9-4e3456147c8d-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/105e217a-71a7-4e5b-bbad-6d19892e92b7-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_one", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562125353849, "stop": 1562125354982}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': '0940137003', 'info': '输入用户名0940137003'}"}], "start": 1562125355001, "stop": 1562125355619}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562125355635, "stop": 1562125356243}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562125356255, "stop": 1562125358332}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562125358333, "stop": 1562125358381}], "start": 1562125353635, "stop": 1562125358381, "uuid": "02d9069e-b5c9-4808-a3b7-aa06e582233e", "historyId": "bb3f89cd30617b1b81dc9875c880623e", "fullName": "tests.test_case.test_pytest.TestClass#test_one", "labels": [{"name": "feature", "value": "百度feature"}, {"name": "story", "value": "访问8891首页"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55529-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/11b54e82-3bd5-480a-8448-d96f4337a094-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "9143cf2a-e347-449f-afbb-ebdaa21d03bf", "children": ["a1bb42b4-a55c-4277-be65-bc8282ad379c"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562211701438, "stop": 1562211707982}], "start": 1562211701438, "stop": 1562211728491} -------------------------------------------------------------------------------- /tmp/my_allure_results/159bf135-f86f-4f37-9518-09ed10d72cb3-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "67fcffa6-aecb-4339-8b5e-1a9a553e1938", "children": ["6e4fbdd5-f933-4d4d-9454-840175deccdb"], "befores": [{"name": "getDriver", "status": "passed", "start": 1563186966268, "stop": 1563186978913}], "start": 1563186966268, "stop": 1563186983499} -------------------------------------------------------------------------------- /tmp/my_allure_results/19b16404-a091-4cd0-8c5c-608be21fb189-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562236603294, "stop": 1562236604277}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562236604293, "stop": 1562236604899}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562236604913, "stop": 1562236605512}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562236605524, "stop": 1562236608165}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562236608165, "stop": 1562236608216}], "attachments": [{"name": "stdout", "source": "4fcfa945-300e-4d37-8be3-1bc98922256a-attachment.txt", "type": "text/plain"}], "start": 1562236602384, "stop": 1562236608216, "uuid": "a45fe5f4-0ab7-48c7-ba27-ca2afbf2c697", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "story", "value": "登录8891"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57492-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/19d5bbc3-cff4-438d-87a0-2c6fea7db29f-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_two", "status": "failed", "statusDetails": {"message": "AssertionError: assert '百度一下' in 'test1111_百度搜索'", "trace": "self = \ngetDriver = \n\n @allure.story('判断是否有234')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'test1111_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError"}, "start": 1562124008981, "stop": 1562124009597, "uuid": "378c4322-1699-41dc-972b-a36dc43a070e", "historyId": "a4addfc73a872e810a368dd6739346da", "fullName": "tests.test_case.test_pytest.TestClass#test_two", "labels": [{"name": "story", "value": "判断是否有234"}, {"name": "feature", "value": "百度feature"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55259-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/1d056628-e7cb-4cf6-b116-a84a3e09bcdd-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "0d0ed756-c865-4674-9a2c-a087b58961bc", "children": ["409d0d00-bf34-4be5-8fc5-816ac2a3c2ef", "ad5a9537-e662-41bc-9867-ae726268c5d9"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562123531570, "stop": 1562123534657}], "start": 1562123531570, "stop": 1562123536123} -------------------------------------------------------------------------------- /tmp/my_allure_results/1ecc8e37-7692-433c-ba89-682606d6974a-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/21f344e8-c3c4-42a5-bcfc-22a02ec6e635-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562212176527, "stop": 1562212177465}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': '0940137003', 'info': '输入用户名0940137003'}"}], "start": 1562212177481, "stop": 1562212178102}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562212178116, "stop": 1562212178719}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562212178732, "stop": 1562212180651}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562212180651, "stop": 1562212180709}], "attachments": [{"name": "stdout", "source": "70a48deb-3628-4f27-b07b-f4cc2ff57588-attachment.txt", "type": "text/plain"}], "start": 1562212176500, "stop": 1562212180710, "uuid": "0830dc9d-f820-477a-9fda-fb1794f99da8", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "登录8891"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "56853-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/225267da-e0a5-41f3-a8b5-e52d0663bfd8-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "95632a3d-af57-4a21-8a6a-cc85dda20c71", "children": ["241cba5e-a4d0-4e0d-ba7c-6c5c6dbb6855"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562212063242, "stop": 1562212068724}], "start": 1562212063242, "stop": 1562212089230} -------------------------------------------------------------------------------- /tmp/my_allure_results/22995797-c898-4e8d-89e0-295c79a39b47-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_add_contacts", "status": "broken", "statusDetails": {"message": "AttributeError: 'PagesObjects' object has no attribute 'check'", "trace": "self = \ngetDriver = \n\n def test_add_contacts(self, getDriver):\n app = {\"driver\": getDriver,\"path\": PATH(\"/Users/luokai/PycharmProjects/UIautocn/Yamls/Android/loginTest.yaml\")}\n page = BasePage(app)\n page.operate()\n> page.checkPoint()\n\ntests/android_test_case/test_android_contacts.py:23: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \nPageObject/Android/HomePage/BasePage.py:19: in checkPoint\n self.page.checkPoint()\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = , kwargs = {}\n\n def checkPoint(self, kwargs={}):\n> result = self.check(kwargs)\nE AttributeError: 'PagesObjects' object has no attribute 'check'\n\nPageObject/Pages.py:59: AttributeError"}, "start": 1563186766227, "stop": 1563186772306, "uuid": "3b8bebc5-c812-41cd-952f-4dca4268c9da", "historyId": "b703b4a1e6c51cbdfcd1decc16916015", "fullName": "tests.android_test_case.test_android_contacts.TestWebViewAndroid#test_add_contacts", "labels": [{"name": "feature", "value": "安卓业务"}, {"name": "parentSuite", "value": "tests.android_test_case"}, {"name": "suite", "value": "test_android_contacts"}, {"name": "subSuite", "value": "TestWebViewAndroid"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "69306-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.android_test_case.test_android_contacts"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/24e8c1a4-b8e7-4d7e-b770-ef17574abe3f-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "2970c639-4e23-4e60-aa03-379e93cf18cc", "children": ["51a32b6f-1471-410a-bd15-8e110fccb8e0", "378c4322-1699-41dc-972b-a36dc43a070e"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562124004128, "stop": 1562124007958}], "start": 1562124004128, "stop": 1562124009691} -------------------------------------------------------------------------------- /tmp/my_allure_results/276fb86f-1936-411a-9e74-f316047ca34f-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "3d03c159-2c81-4447-8db8-a1c6b1c7a24b", "children": ["419d8988-bbb8-46b9-945f-ef9fb8ff2c7e", "cd633b6a-45f1-4018-ba9a-264c584672f2"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562229488866, "stop": 1562229494613}], "start": 1562229488866, "stop": 1562229511405} -------------------------------------------------------------------------------- /tmp/my_allure_results/28d637cb-9bc9-427f-b15b-3e382a899947-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "975666ed-efa9-4d6c-b1cd-e5998a62cea5", "children": ["02d9069e-b5c9-4808-a3b7-aa06e582233e"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562125347739, "stop": 1562125353629}], "start": 1562125347739, "stop": 1562125358382} -------------------------------------------------------------------------------- /tmp/my_allure_results/2a49004d-7989-45b1-b6fc-3de07c6285a4-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_one", "status": "passed", "steps": [{"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}"}], "start": 1562124265646, "stop": 1562124266417}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}"}], "start": 1562124266435, "stop": 1562124266516}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}"}], "start": 1562124266516, "stop": 1562124266525}], "start": 1562124265621, "stop": 1562124266526, "uuid": "29cdee1f-ab19-43ba-bbd6-c4197abbacda", "historyId": "bb3f89cd30617b1b81dc9875c880623e", "fullName": "tests.test_case.test_pytest.TestClass#test_one", "labels": [{"name": "story", "value": "访问百度首页234"}, {"name": "feature", "value": "百度feature"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55342-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/2e82ed9e-f0e2-447b-bb89-13eaff8efe82-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/30b0454b-16bd-436f-a788-df6ce9bf723c-attachment.txt: -------------------------------------------------------------------------------- 1 | WARNING urllib3.connectionpool:connectionpool.py:665 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused',)': /wd/hub/session 2 | WARNING urllib3.connectionpool:connectionpool.py:665 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused',)': /wd/hub/session 3 | WARNING urllib3.connectionpool:connectionpool.py:665 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused',)': /wd/hub/session -------------------------------------------------------------------------------- /tmp/my_allure_results/314d57b4-8603-4a5b-9b90-2650a1f0ac79-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "c5bb239d-9d20-4b6b-b9c1-0a7565099ec8", "children": ["b4079a6c-8a0e-477f-aca7-fe3982ee3570"], "befores": [{"name": "driver", "status": "broken", "statusDetails": {"message": "urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=4723): Max retries exceeded with url: /wd/hub/session (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused',))\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/pluggy/callers.py\", line 187, in _multicall\n res = hook_impl.function(*args)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/_pytest/fixtures.py\", line 923, in pytest_fixture_setup\n result = call_fixture_func(fixturefunc, request, kwargs)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/_pytest/fixtures.py\", line 783, in call_fixture_func\n res = fixturefunc(**kwargs)\n File \"/Users/luokai/PycharmProjects/UIautocn/tests/android_test_case/conftest.py\", line 36, in driver\n driver = webdriver.Remote(APPIUM_LOCAL_HOST_URL, desired_caps)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py\", line 157, in __init__\n self.start_session(capabilities, browser_profile)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py\", line 252, in start_session\n response = self.execute(Command.NEW_SESSION, parameters)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py\", line 319, in execute\n response = self.command_executor.execute(driver_command, params)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py\", line 374, in execute\n return self._request(command_info[0], url, body=data)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py\", line 402, in _request\n resp = http.request(method, url, body=body, headers=headers)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/request.py\", line 72, in request\n **urlopen_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/request.py\", line 150, in request_encode_body\n return self.urlopen(method, url, **extra_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/poolmanager.py\", line 326, in urlopen\n response = conn.urlopen(method, u.request_uri, **kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 670, in urlopen\n **response_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 670, in urlopen\n **response_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 670, in urlopen\n **response_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 641, in urlopen\n _stacktrace=sys.exc_info()[2])\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/util/retry.py\", line 399, in increment\n raise MaxRetryError(_pool, url, error or ResponseError(cause))\n"}, "start": 1563153471958, "stop": 1563153472006}], "start": 1563153471958, "stop": 1563153472518} -------------------------------------------------------------------------------- /tmp/my_allure_results/32b931ff-ade7-4cef-a75d-6139871793f8-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/32de1654-52ef-45db-bd96-a8b5da8dedbe-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_one", "status": "passed", "steps": [{"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}"}], "start": 1562116684581, "stop": 1562116685338}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}"}], "start": 1562116685355, "stop": 1562116685436}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}"}], "start": 1562116685436, "stop": 1562116685443}], "start": 1562116684542, "stop": 1562116685443, "uuid": "29bfe148-21f0-4a81-9ee3-e0d99cf99696", "historyId": "bb3f89cd30617b1b81dc9875c880623e", "fullName": "tests.test_case.test_pytest.TestClass#test_one", "labels": [{"name": "feature", "value": "百度feature"}, {"name": "story", "value": "访问百度首页123"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "54723-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/3477f569-5b42-4e72-b053-e74599b5259f-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_two", "status": "failed", "statusDetails": {"message": "AssertionError: assert '百度一下' in 'test1111_百度搜索'", "trace": "self = \ngetDriver = \n\n @allure.story('判断是否有234')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'test1111_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError"}, "start": 1562123066628, "stop": 1562123067092, "uuid": "da5d7801-c806-4be7-83c5-e3a0b3924e14", "historyId": "a4addfc73a872e810a368dd6739346da", "fullName": "tests.test_case.test_pytest.TestClass#test_two", "labels": [{"name": "story", "value": "判断是否有234"}, {"name": "feature", "value": "百度feature"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "54847-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/3762fa30-0605-42bf-8faa-56da3b9886e5-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "3b81cbc0-7acf-4eab-8e8e-6efc49a9d31e", "children": ["631e0ff8-f134-4f9a-94be-ddb474ca8736"], "befores": [{"name": "getDriver", "status": "passed", "start": 1563187258797, "stop": 1563187271612}], "start": 1563187258797, "stop": 1563187275395} -------------------------------------------------------------------------------- /tmp/my_allure_results/37fc0b56-922d-4f9b-b6a0-b639a4380884-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562212137037, "stop": 1562212138361}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': '0940137003', 'info': '输入用户名0940137003'}"}], "start": 1562212138385, "stop": 1562212139011}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562212139025, "stop": 1562212139630}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562212139642, "stop": 1562212141581}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562212141582, "stop": 1562212141618}], "attachments": [{"name": "stdout", "source": "2e82ed9e-f0e2-447b-bb89-13eaff8efe82-attachment.txt", "type": "text/plain"}], "start": 1562212136046, "stop": 1562212141619, "uuid": "78aac418-9426-431b-ad79-477e3d7979c2", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "story", "value": "登录8891"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "56827-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/3af551f0-a952-410a-a56d-cfe368361ce5-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "744699d7-b1eb-49bf-a13d-9ef95eb4d55f", "children": ["2bc4480e-3396-4b24-bf04-d6f2ed5f0858", "10b4859c-714a-4da3-88c9-7cb17b5af716"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562123859334, "stop": 1562123862673}], "start": 1562123859334, "stop": 1562123863814} -------------------------------------------------------------------------------- /tmp/my_allure_results/4224802b-b8cb-4942-abf2-9b83a0290062-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_add_contacts", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "mOperate", "value": "{'element_info': 'com.addcn.car8891:id/close', 'find_type': 'id', 'operate_type': 'click', 'info': '关闭新手引导图'}"}], "start": 1563187383470, "stop": 1563187383576}], "start": 1563187379788, "stop": 1563187383577, "uuid": "d563b889-ff5e-4f1f-9755-b8245cac4811", "historyId": "b703b4a1e6c51cbdfcd1decc16916015", "fullName": "tests.android_test_case.test_android_contacts.TestWebViewAndroid#test_add_contacts", "labels": [{"name": "story", "value": "登录Android"}, {"name": "feature", "value": "安卓业务"}, {"name": "parentSuite", "value": "tests.android_test_case"}, {"name": "suite", "value": "test_android_contacts"}, {"name": "subSuite", "value": "TestWebViewAndroid"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "69798-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.android_test_case.test_android_contacts"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/4c159a8e-647a-4917-864d-4352b3bcd6cc-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/4f3bb287-edf1-4da0-8fe2-69d1868366c5-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_two", "status": "passed", "start": 1562123863532, "stop": 1562123863813, "uuid": "10b4859c-714a-4da3-88c9-7cb17b5af716", "historyId": "a4addfc73a872e810a368dd6739346da", "fullName": "tests.test_case.test_pytest.TestClass#test_two", "labels": [{"name": "story", "value": "判断是否有234"}, {"name": "feature", "value": "百度feature"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55033-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/4fcfa945-300e-4d37-8be3-1bc98922256a-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/5231e803-4f98-46da-b148-1302dbbf58b3-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "56f25875-fb0d-4c01-9c01-5336b773b89e", "children": ["29cdee1f-ab19-43ba-bbd6-c4197abbacda", "75d89791-6447-4e09-8733-750ff746581c"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562124262407, "stop": 1562124265618}], "start": 1562124262407, "stop": 1562124267368} -------------------------------------------------------------------------------- /tmp/my_allure_results/562851af-6d56-42ba-9e7e-1e1e33544005-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "4b50f16e-af82-4222-9429-3151f81992df", "children": ["18393f9d-c533-4d64-bff7-16ca0247ced0"], "befores": [{"name": "getDriver", "status": "passed", "start": 1563186939589, "stop": 1563186952186}], "start": 1563186939589, "stop": 1563186957259} -------------------------------------------------------------------------------- /tmp/my_allure_results/5a47d341-1fe4-49d7-abd4-05b6c524ac2d-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/5a80c6ee-d37b-4b74-a70b-28098ade9268-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562229221490, "stop": 1562229222274}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562229222292, "stop": 1562229222910}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562229222924, "stop": 1562229223523}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562229223540, "stop": 1562229226193}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562229226193, "stop": 1562229226225}], "attachments": [{"name": "stdout", "source": "e138937b-60af-48b9-a905-e079e5f53e52-attachment.txt", "type": "text/plain"}], "start": 1562229221458, "stop": 1562229226226, "uuid": "cedfa654-2558-44d5-8260-948fe9d5eb1b", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "登录8891"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57192-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/5d7236c5-74b6-42fc-a9b2-6ff782aea97e-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_add_contacts", "status": "broken", "statusDetails": {"message": "_pytest.fixtures.FixtureLookupError: ('self', >)", "trace": "file /Users/luokai/PycharmProjects/UIautocn/tests/android_test_case/test_android_contacts.py, line 17\n def test_add_contacts(self, driver):\nfile /Users/luokai/PycharmProjects/UIautocn/tests/android_test_case/conftest.py, line 25\n @pytest.fixture(scope=\"function\")\n def driver(self, request):\nE fixture 'self' not found\n> available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, driver, monkeypatch, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmpdir, tmpdir_factory\n> use 'pytest --fixtures [testpath]' for help on them.\n\n/Users/luokai/PycharmProjects/UIautocn/tests/android_test_case/conftest.py:25"}, "start": 1563153296526, "stop": 1563153296526, "uuid": "e23c2170-6a00-476d-bf24-83b4a9590f57", "historyId": "b703b4a1e6c51cbdfcd1decc16916015", "fullName": "tests.android_test_case.test_android_contacts.TestWebViewAndroid#test_add_contacts", "labels": [{"name": "parentSuite", "value": "tests.android_test_case"}, {"name": "suite", "value": "test_android_contacts"}, {"name": "subSuite", "value": "TestWebViewAndroid"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "66400-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.android_test_case.test_android_contacts"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/5dc3c954-67ef-4ee4-8354-98091b83e702-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/5f2e257a-46e4-4f0e-978d-4550827bbf4f-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562234584028, "stop": 1562234584921}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562234584933, "stop": 1562234585539}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562234585553, "stop": 1562234586161}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562234586174, "stop": 1562234595890}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562234595891, "stop": 1562234595930}], "attachments": [{"name": "stdout", "source": "32b931ff-ade7-4cef-a75d-6139871793f8-attachment.txt", "type": "text/plain"}], "start": 1562234583320, "stop": 1562234595930, "uuid": "8426ca35-5d2a-47cf-a50f-13b587fd6fc4", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "登录8891"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57423-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/610e6fd0-b77c-466b-8e4c-cc937dd753cc-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "a632e0b7-9a44-4514-b741-25fc18cf7a24", "children": ["459a6ea3-f829-4ad6-b90d-e3133db2acdc"], "befores": [{"name": "getDriver", "status": "broken", "statusDetails": {"message": "selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not find a connected Android device.\n\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/pluggy/callers.py\", line 187, in _multicall\n res = hook_impl.function(*args)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/_pytest/fixtures.py\", line 923, in pytest_fixture_setup\n result = call_fixture_func(fixturefunc, request, kwargs)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/_pytest/fixtures.py\", line 783, in call_fixture_func\n res = fixturefunc(**kwargs)\n File \"/Users/luokai/PycharmProjects/UIautocn/tests/android_test_case/conftest.py\", line 24, in getDriver\n driver = webdriver.Remote(APPIUM_LOCAL_HOST_URL, desired_caps)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py\", line 157, in __init__\n self.start_session(capabilities, browser_profile)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py\", line 252, in start_session\n response = self.execute(Command.NEW_SESSION, parameters)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py\", line 321, in execute\n self.error_handler.check_response(response)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py\", line 242, in check_response\n raise exception_class(message, screen, stacktrace)\n"}, "start": 1563185376430, "stop": 1563185397979}], "start": 1563185376430, "stop": 1563185398127} -------------------------------------------------------------------------------- /tmp/my_allure_results/641a0714-b0d7-4ae9-bd5c-bd01e027f081-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/650abe87-c617-4bbd-abf9-6180a4dc8068-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "8e51becf-3e61-4026-a917-a8e324c20f51", "children": ["0830dc9d-f820-477a-9fda-fb1794f99da8", "bc198d19-594b-40d5-9842-9eb3dbeaa6e8"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562212171043, "stop": 1562212176495}], "start": 1562212171043, "stop": 1562212188910} -------------------------------------------------------------------------------- /tmp/my_allure_results/692cb9ef-9470-41d3-920a-28e90d8aa47d-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/70a48deb-3628-4f27-b07b-f4cc2ff57588-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/72d929f2-9642-4d0d-bdaa-ee967a5c0d54-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/74b753d4-6e3d-4830-89fe-19309b7b1f07-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_one", "status": "passed", "steps": [{"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}"}], "start": 1562123534685, "stop": 1562123535436}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}"}], "start": 1562123535452, "stop": 1562123535529}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}"}], "start": 1562123535529, "stop": 1562123535537}], "start": 1562123534660, "stop": 1562123535537, "uuid": "409d0d00-bf34-4be5-8fc5-816ac2a3c2ef", "historyId": "bb3f89cd30617b1b81dc9875c880623e", "fullName": "tests.test_case.test_pytest.TestClass#test_one", "labels": [{"name": "feature", "value": "百度feature"}, {"name": "story", "value": "访问百度首页234"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "54958-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/77dc044e-8d4d-40b6-805a-3e2101d5785a-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_two", "status": "failed", "statusDetails": {"message": "AssertionError: assert '百度一下' in 'bcd码_百度搜索'", "trace": "self = \ngetDriver = \n\n @allure.story('判断是否有234')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'bcd码_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError"}, "start": 1562124266533, "stop": 1562124267252, "uuid": "75d89791-6447-4e09-8733-750ff746581c", "historyId": "a4addfc73a872e810a368dd6739346da", "fullName": "tests.test_case.test_pytest.TestClass#test_two", "labels": [{"name": "feature", "value": "百度feature"}, {"name": "story", "value": "判断是否有234"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55342-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/7824191a-d6ae-42bb-a0e5-73b4fed2f42a-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "attachments": [{"name": "stdout", "source": "4c159a8e-647a-4917-864d-4352b3bcd6cc-attachment.txt", "type": "text/plain"}], "start": 1562211989772, "stop": 1562212010115, "uuid": "70c6ce0c-88d6-49fa-bb9e-39221f581f84", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "story", "value": "刊登物件"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "56777-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/7bfe4281-851d-48cf-bcf5-eccd45abdf22-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "9360222f-50ef-46ee-9be1-e054650c0e47", "children": ["3c1ba2c5-6ac0-47bd-bf51-a44579f7eed8", "c9db477b-e24a-4248-ae9b-b6a75586ce4c"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562229843618, "stop": 1562229849232}], "start": 1562229843618, "stop": 1562229871967} -------------------------------------------------------------------------------- /tmp/my_allure_results/7cb4f7ae-201b-4cad-a761-3724df8864ad-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "37750d04-5ed6-4f9a-b340-5ef075f0beab", "children": ["bb26d4e2-2592-465c-9743-0942fc197151", "3f6b47fd-af77-48ce-8e05-c0e0157aa891"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562229797113, "stop": 1562229803089}], "start": 1562229797113, "stop": 1562229810665} -------------------------------------------------------------------------------- /tmp/my_allure_results/80e1803d-0043-4511-9e28-d2d98bc15773-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/834cea43-bb5a-4d63-bedd-6317c469b6b1-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562236698259, "stop": 1562236699739}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562236699753, "stop": 1562236700364}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562236700382, "stop": 1562236700977}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562236700990, "stop": 1562236703573}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562236703574, "stop": 1562236703621}], "attachments": [{"name": "stdout", "source": "80e1803d-0043-4511-9e28-d2d98bc15773-attachment.txt", "type": "text/plain"}], "start": 1562236697247, "stop": 1562236703621, "uuid": "87a3a1bb-c87c-47a9-b266-719e094dc099", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "story", "value": "登录8891"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57536-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/83c76db6-4afb-4f77-9919-97667ab056f3-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "086318a9-fc52-4f52-9e58-69678bc9afd2", "children": ["70c6ce0c-88d6-49fa-bb9e-39221f581f84"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562211984369, "stop": 1562211989768}], "start": 1562211984369, "stop": 1562212010117} -------------------------------------------------------------------------------- /tmp/my_allure_results/846fff4d-7356-47e4-ab45-7e636cbcf108-attachment.txt: -------------------------------------------------------------------------------- 1 | WARNING urllib3.connectionpool:connectionpool.py:665 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused',)': /wd/hub/session 2 | WARNING urllib3.connectionpool:connectionpool.py:665 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused',)': /wd/hub/session 3 | WARNING urllib3.connectionpool:connectionpool.py:665 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused',)': /wd/hub/session -------------------------------------------------------------------------------- /tmp/my_allure_results/84f3763d-fb40-4753-a0fe-c500c14d3d19-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562212210203, "stop": 1562212211131}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562212211148, "stop": 1562212211751}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562212211767, "stop": 1562212212366}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562212212382, "stop": 1562212214983}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562212214983, "stop": 1562212215028}], "attachments": [{"name": "stdout", "source": "97915e9b-7804-41f4-a493-08e65a1f6aec-attachment.txt", "type": "text/plain"}], "start": 1562212210140, "stop": 1562212215028, "uuid": "1c0ef193-7615-4f82-956e-621d2c0bd337", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "登录8891"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "56875-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/873f64fa-a11e-4c50-85d1-beb663008382-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "c0765b9e-68a6-47e9-b117-e4bcf976ae90", "children": ["cb271b3c-fb0b-4693-a79e-9b554049269d", "e656b401-78a8-47a8-a79c-7704c60ec14f"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562229434249, "stop": 1562229439399}], "start": 1562229434249, "stop": 1562229449184} -------------------------------------------------------------------------------- /tmp/my_allure_results/88100e9f-b01b-44b1-8e30-be32b09cbb0d-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "37d8a6ce-eaeb-49ef-942a-48b00f538028", "children": ["493d41d5-8bdd-41d8-9697-2add14bfded1"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562125506391, "stop": 1562125512189}], "start": 1562125506391, "stop": 1562125517471} -------------------------------------------------------------------------------- /tmp/my_allure_results/8a5960a9-cb88-4cab-a9d4-b120a7339f47-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_one", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562125512231, "stop": 1562125514079}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': '0940137003', 'info': '输入用户名0940137003'}"}], "start": 1562125514099, "stop": 1562125514720}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562125514735, "stop": 1562125515333}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562125515346, "stop": 1562125517434}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562125517435, "stop": 1562125517469}], "start": 1562125512194, "stop": 1562125517470, "uuid": "493d41d5-8bdd-41d8-9697-2add14bfded1", "historyId": "bb3f89cd30617b1b81dc9875c880623e", "fullName": "tests.test_case.test_pytest.TestClass#test_one", "labels": [{"name": "feature", "value": "8891中古车"}, {"name": "story", "value": "访问8891首页"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55610-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/93d94442-3909-4fca-93a6-5f09e999c6bd-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "7e4a0da0-e4a3-4e48-bc24-e7d3bf9de9ab", "children": ["254df070-b5e0-4730-94c3-01ad0fbf48a7"], "befores": [{"name": "driver", "status": "broken", "statusDetails": {"message": "urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=4723): Max retries exceeded with url: /wd/hub/session (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused',))\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/pluggy/callers.py\", line 187, in _multicall\n res = hook_impl.function(*args)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/_pytest/fixtures.py\", line 923, in pytest_fixture_setup\n result = call_fixture_func(fixturefunc, request, kwargs)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/_pytest/fixtures.py\", line 783, in call_fixture_func\n res = fixturefunc(**kwargs)\n File \"/Users/luokai/PycharmProjects/UIautocn/tests/android_test_case/test_android_contacts.py\", line 28, in driver\n driver = webdriver.Remote(APPIUM_LOCAL_HOST_URL, desired_caps)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/appium/webdriver/webdriver.py\", line 144, in __init__\n proxy\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py\", line 157, in __init__\n self.start_session(capabilities, browser_profile)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/appium/webdriver/webdriver.py\", line 219, in start_session\n response = self.execute(RemoteCommand.NEW_SESSION, parameters)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py\", line 319, in execute\n response = self.command_executor.execute(driver_command, params)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py\", line 374, in execute\n return self._request(command_info[0], url, body=data)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py\", line 397, in _request\n resp = self._conn.request(method, url, body=body, headers=headers)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/request.py\", line 72, in request\n **urlopen_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/request.py\", line 150, in request_encode_body\n return self.urlopen(method, url, **extra_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/poolmanager.py\", line 326, in urlopen\n response = conn.urlopen(method, u.request_uri, **kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 670, in urlopen\n **response_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 670, in urlopen\n **response_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 670, in urlopen\n **response_kw)\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/connectionpool.py\", line 641, in urlopen\n _stacktrace=sys.exc_info()[2])\n File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/urllib3/util/retry.py\", line 399, in increment\n raise MaxRetryError(_pool, url, error or ResponseError(cause))\n"}, "start": 1562926714382, "stop": 1562926714418}], "start": 1562926714382, "stop": 1562926714837} -------------------------------------------------------------------------------- /tmp/my_allure_results/97915e9b-7804-41f4-a493-08e65a1f6aec-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/97d7626a-c136-4b91-a525-a8b9ea18df0d-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "94a95580-efd6-4c18-a5bb-363c59f5ca58", "children": ["f8678a2f-4582-4039-92e1-6d01207a73a6", "f239354f-39b4-47a8-b076-87dc5fe95ff8"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562237156382, "stop": 1562237162417}], "start": 1562237156382, "stop": 1562237215526} -------------------------------------------------------------------------------- /tmp/my_allure_results/98d28ccc-f7dc-4886-867a-ac95f4609ebb-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562229494793, "stop": 1562229495631}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562229495646, "stop": 1562229496258}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562229496273, "stop": 1562229496870}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562229496886, "stop": 1562229499599}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562229499599, "stop": 1562229499645}], "attachments": [{"name": "stdout", "source": "fe98c0d2-16f4-4500-a319-e44abc3754f7-attachment.txt", "type": "text/plain"}], "start": 1562229494620, "stop": 1562229499646, "uuid": "419d8988-bbb8-46b9-945f-ef9fb8ff2c7e", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "story", "value": "登录8891"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57243-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/99f4d92a-8b35-4790-a892-95120790041b-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "0f5c8a67-4ba9-4c6f-9139-77daf5830ef4", "children": ["5f8e099c-23d3-4b7d-9ce9-9ab599b230e0"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562125590717, "stop": 1562125597082}], "start": 1562125590717, "stop": 1562125601566} -------------------------------------------------------------------------------- /tmp/my_allure_results/a0adf64b-1432-4d5a-b17b-092221b6475b-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_two", "status": "failed", "statusDetails": {"message": "AssertionError: assert '百度一下' in 'bcd码_百度搜索'", "trace": "self = \ngetDriver = \n\n @allure.story('判断是否有123')\n def test_two(self, getDriver):\n input_box = getDriver.find_element_by_id(\"kw\")\n input_box.clear()\n input_box.send_keys(\"bcd\")\n submit = getDriver.find_element_by_id(\"su\")\n submit.click()\n title = getDriver.title\n> assert '百度一下' in title\nE AssertionError: assert '百度一下' in 'bcd码_百度搜索'\n\ntests/test_case/test_pytest.py:23: AssertionError"}, "start": 1562116685450, "stop": 1562116686133, "uuid": "aae619eb-ec1b-4ba7-b836-e6dbef72d7dc", "historyId": "a4addfc73a872e810a368dd6739346da", "fullName": "tests.test_case.test_pytest.TestClass#test_two", "labels": [{"name": "story", "value": "判断是否有123"}, {"name": "feature", "value": "百度feature"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "54723-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/a92b74db-b558-4af6-bc20-28d849cd4273-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "9d21ae47-444a-4339-929d-1eeaef0d8f2b", "children": ["3b8bebc5-c812-41cd-952f-4dca4268c9da"], "befores": [{"name": "getDriver", "status": "passed", "start": 1563186753236, "stop": 1563186766223}], "start": 1563186753236, "stop": 1563186772380} -------------------------------------------------------------------------------- /tmp/my_allure_results/a953c1f5-1301-41dd-b607-3a7968f58a31-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_add_contacts", "status": "passed", "start": 1563187007603, "stop": 1563187012389, "uuid": "6e60d412-9719-4a30-bb9b-5401ec1b7246", "historyId": "b703b4a1e6c51cbdfcd1decc16916015", "fullName": "tests.android_test_case.test_android_contacts.TestWebViewAndroid#test_add_contacts", "labels": [{"name": "feature", "value": "安卓业务"}, {"name": "parentSuite", "value": "tests.android_test_case"}, {"name": "suite", "value": "test_android_contacts"}, {"name": "subSuite", "value": "TestWebViewAndroid"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "69589-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.android_test_case.test_android_contacts"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/b42941e8-b76c-463b-b5ee-f8ecda211f30-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/b5433475-fb15-459e-b674-afffd85eecd0-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "start": 1562211708004, "stop": 1562211728489, "uuid": "a1bb42b4-a55c-4277-be65-bc8282ad379c", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "story", "value": "刊登物件"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "56720-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/b54d9f7f-347c-4a49-bda8-22bd26940eaf-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562229803137, "stop": 1562229804079}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562229804092, "stop": 1562229804699}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562229804714, "stop": 1562229805318}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562229805332, "stop": 1562229807671}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562229807671, "stop": 1562229807726}], "attachments": [{"name": "stdout", "source": "692cb9ef-9470-41d3-920a-28e90d8aa47d-attachment.txt", "type": "text/plain"}], "start": 1562229803102, "stop": 1562229807727, "uuid": "bb26d4e2-2592-465c-9743-0942fc197151", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "story", "value": "登录8891"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57285-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/b8d7d475-7026-4b2d-a3bd-7b1cc03987da-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "73200bcd-1f43-4bda-9309-4645082c7b55", "children": ["8426ca35-5d2a-47cf-a50f-13b587fd6fc4", "b816f13c-5d33-45a2-9507-f48546d49630"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562234575515, "stop": 1562234583314}], "start": 1562234575515, "stop": 1562234622946} -------------------------------------------------------------------------------- /tmp/my_allure_results/bc82b441-1f90-41e5-bc4a-53671b7dfe99-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "start": 1562211760744, "stop": 1562211781237, "uuid": "806d36bc-fc46-4f69-b488-ba79b6157f39", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "story", "value": "刊登物件"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "56742-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/bcd52f4b-d813-48be-a072-36e389412382-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "6b9219b6-cb44-4341-b712-4075181b3f88", "children": ["750a59e3-2446-4d70-bf3b-98875f515651", "da5d7801-c806-4be7-83c5-e3a0b3924e14"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562123062240, "stop": 1562123065746}], "start": 1562123062240, "stop": 1562123067175} -------------------------------------------------------------------------------- /tmp/my_allure_results/bd1d2516-8e6b-4732-898d-872f5f488b5f-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "c956e4fd-04fa-41e3-84d2-7fe596b56e97", "children": ["6e60d412-9719-4a30-bb9b-5401ec1b7246"], "befores": [{"name": "getDriver", "status": "passed", "start": 1563186995346, "stop": 1563187007600}], "start": 1563186995346, "stop": 1563187012390} -------------------------------------------------------------------------------- /tmp/my_allure_results/bf5923e6-6a36-44af-90ca-f56a068e8e8d-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "14a06c18-24ab-4aa2-903f-d4d636b08878", "children": ["87a3a1bb-c87c-47a9-b266-719e094dc099", "645dce3a-f154-48a5-9649-6b57c48942be"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562236693035, "stop": 1562236697243}], "start": 1562236693035, "stop": 1562236746624} -------------------------------------------------------------------------------- /tmp/my_allure_results/c0b4c267-e962-46e7-b474-6b20899c6f97-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_one", "status": "passed", "steps": [{"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}"}], "start": 1562123862697, "stop": 1562123863419}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}"}], "start": 1562123863438, "stop": 1562123863518}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}"}], "start": 1562123863518, "stop": 1562123863524}], "start": 1562123862676, "stop": 1562123863524, "uuid": "2bc4480e-3396-4b24-bf04-d6f2ed5f0858", "historyId": "bb3f89cd30617b1b81dc9875c880623e", "fullName": "tests.test_case.test_pytest.TestClass#test_one", "labels": [{"name": "story", "value": "访问百度首页234"}, {"name": "feature", "value": "百度feature"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55033-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/c0fc7cef-65a9-4816-82e7-36dd96829afb-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562808150283, "stop": 1562808151304}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562808151323, "stop": 1562808151930}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562808151944, "stop": 1562808152539}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562808152552, "stop": 1562808155767}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562808155768, "stop": 1562808155832}], "attachments": [{"name": "stdout", "source": "5dc3c954-67ef-4ee4-8354-98091b83e702-attachment.txt", "type": "text/plain"}], "start": 1562808150249, "stop": 1562808155839, "uuid": "85723834-2e47-487e-95bf-b5ce285aee89", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "登录8891"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "62668-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/c270b808-3e70-4971-ae5e-0a428484ff7e-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/c29eb3b1-8c85-4f23-8d38-e6131b8b85db-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "1115d9fc-7be2-49dc-9d5d-4eb02941b325", "children": ["a45fe5f4-0ab7-48c7-ba27-ca2afbf2c697", "195b6e3f-be97-4b5a-b828-6729252678d4"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562236597222, "stop": 1562236602380}], "start": 1562236597222, "stop": 1562236634523} -------------------------------------------------------------------------------- /tmp/my_allure_results/c59edb3b-307b-4c32-b4bd-e72a0d09f5b1-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_add_contacts", "status": "passed", "start": 1563187271616, "stop": 1563187275394, "uuid": "631e0ff8-f134-4f9a-94be-ddb474ca8736", "historyId": "b703b4a1e6c51cbdfcd1decc16916015", "fullName": "tests.android_test_case.test_android_contacts.TestWebViewAndroid#test_add_contacts", "labels": [{"name": "story", "value": "登录Android"}, {"name": "feature", "value": "安卓业务"}, {"name": "parentSuite", "value": "tests.android_test_case"}, {"name": "suite", "value": "test_android_contacts"}, {"name": "subSuite", "value": "TestWebViewAndroid"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "69696-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.android_test_case.test_android_contacts"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/c5eb3227-cc50-49d7-8e7b-acaf525cd6bd-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/c642a034-38a0-43a5-a201-bfd9e13d4340-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | -------------------------------------------------------------------------------- /tmp/my_allure_results/c6722185-f5dc-4463-9089-e4eb849aeb29-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562237162475, "stop": 1562237163735}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562237163756, "stop": 1562237164362}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562237164376, "stop": 1562237164980}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562237164992, "stop": 1562237167700}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562237167701, "stop": 1562237167746}], "attachments": [{"name": "stdout", "source": "0dcdd16a-94c6-4447-bca9-4e3456147c8d-attachment.txt", "type": "text/plain"}], "start": 1562237162434, "stop": 1562237167747, "uuid": "f8678a2f-4582-4039-92e1-6d01207a73a6", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "登录8891"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57583-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/ca33237d-ff3e-4e1e-bf58-f98ef08514f5-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_add_contacts", "status": "broken", "statusDetails": {"message": "AttributeError: 'BasePage' object has no attribute 'checkPoint'", "trace": "self = \ngetDriver = \n\n def test_add_contacts(self, getDriver):\n app = {\"driver\": getDriver,\"path\": PATH(\"/Users/luokai/PycharmProjects/UIautocn/Yamls/Android/loginTest.yaml\")}\n page = BasePage(app)\n page.operate()\n> page.checkPoint()\nE AttributeError: 'BasePage' object has no attribute 'checkPoint'\n\ntests/android_test_case/test_android_contacts.py:23: AttributeError"}, "start": 1563186978917, "stop": 1563186983420, "uuid": "6e4fbdd5-f933-4d4d-9454-840175deccdb", "historyId": "b703b4a1e6c51cbdfcd1decc16916015", "fullName": "tests.android_test_case.test_android_contacts.TestWebViewAndroid#test_add_contacts", "labels": [{"name": "feature", "value": "安卓业务"}, {"name": "parentSuite", "value": "tests.android_test_case"}, {"name": "suite", "value": "test_android_contacts"}, {"name": "subSuite", "value": "TestWebViewAndroid"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "69517-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.android_test_case.test_android_contacts"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/cbb9fe0f-b95d-4954-bbc2-33450a042e67-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/cd244e52-6231-4910-9a82-173d91559703-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562125597113, "stop": 1562125598072}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': '0940137003', 'info': '输入用户名0940137003'}"}], "start": 1562125598090, "stop": 1562125598715}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562125598730, "stop": 1562125599322}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562125599338, "stop": 1562125601507}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562125601507, "stop": 1562125601565}], "start": 1562125597087, "stop": 1562125601565, "uuid": "5f8e099c-23d3-4b7d-9ce9-9ab599b230e0", "historyId": "d4e6df5082b284465c98a2ea3b12fb1a", "fullName": "tests.test_case.test_pytest.TestClass#test_login", "labels": [{"name": "feature", "value": "8891中古车"}, {"name": "story", "value": "访问8891首页"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55689-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/ce8881ca-a629-47f1-936a-8ea148ae8eff-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562229849319, "stop": 1562229850450}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562229850467, "stop": 1562229851069}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562229851083, "stop": 1562229851679}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562229851692, "stop": 1562229854248}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562229854248, "stop": 1562229854316}], "attachments": [{"name": "stdout", "source": "72d929f2-9642-4d0d-bdaa-ee967a5c0d54-attachment.txt", "type": "text/plain"}], "start": 1562229849239, "stop": 1562229854316, "uuid": "3c1ba2c5-6ac0-47bd-bf51-a44579f7eed8", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "登录8891"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57318-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/cf4bb460-b9f0-4bb6-9cc1-0d054ccd4727-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "667db3b4-1580-4d3a-8f94-726281b4b8f0", "children": ["29bfe148-21f0-4a81-9ee3-e0d99cf99696", "aae619eb-ec1b-4ba7-b836-e6dbef72d7dc"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562116681245, "stop": 1562116684539}], "start": 1562116681245, "stop": 1562116686203} -------------------------------------------------------------------------------- /tmp/my_allure_results/d3db0f7d-ac93-48c2-8066-138f9ae830b8-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_one", "status": "passed", "steps": [{"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 142, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'kw', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'test1111', 'info': '输入test123123'}"}], "start": 1562124008003, "stop": 1562124008830}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'su', 'find_type': 'id', 'operate_type': 'click', 'info': '点击百度按钮'}"}], "start": 1562124008851, "stop": 1562124008963}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_title', 'assert_value': '百度', 'info': '断言是否有百度字样在标题'}"}], "start": 1562124008963, "stop": 1562124008972}], "start": 1562124007964, "stop": 1562124008972, "uuid": "51a32b6f-1471-410a-bd15-8e110fccb8e0", "historyId": "bb3f89cd30617b1b81dc9875c880623e", "fullName": "tests.test_case.test_pytest.TestClass#test_one", "labels": [{"name": "story", "value": "访问百度首页234"}, {"name": "feature", "value": "百度feature"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestClass"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "55259-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/d6531e26-e20c-474d-bdf3-3077201955ad-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "5fe7f937-69cf-40e2-84b2-9b390a635f5c", "children": ["d563b889-ff5e-4f1f-9755-b8245cac4811"], "befores": [{"name": "getDriver", "status": "passed", "start": 1563187367230, "stop": 1563187379779}], "start": 1563187367230, "stop": 1563187383579} -------------------------------------------------------------------------------- /tmp/my_allure_results/d99fefa8-b5fe-49de-8051-7df8e3b3bfcb-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/e02553fb-db22-4749-a0da-fb2b5fb48c88-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "attachments": [{"name": "stdout", "source": "c642a034-38a0-43a5-a201-bfd9e13d4340-attachment.txt", "type": "text/plain"}], "start": 1562212068727, "stop": 1562212089229, "uuid": "241cba5e-a4d0-4e0d-ba7c-6c5c6dbb6855", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "刊登物件"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "56804-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/e0ffc24a-027e-45ab-9c74-2ad1ba24439b-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_publish", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': '#myaccount > li > dl > dt > a:nth-child(1)', 'find_type': 'css', 'operate_type': 'click', 'info': '點擊會員中心'}"}], "start": 1562212180779, "stop": 1562212182655}], "attachments": [{"name": "stdout", "source": "e5fa3411-8a0c-46d6-be59-dfa2b994ed2b-attachment.txt", "type": "text/plain"}], "start": 1562212180719, "stop": 1562212188908, "uuid": "bc198d19-594b-40d5-9842-9eb3dbeaa6e8", "historyId": "6d076e34a0ab9f0f3f3283a2efe4b5d5", "fullName": "tests.test_case.test_pytest.TestSeller#test_publish", "labels": [{"name": "story", "value": "刊登物件"}, {"name": "feature", "value": "车商业务"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "56853-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/e138937b-60af-48b9-a905-e079e5f53e52-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/my_allure_results/e5fa3411-8a0c-46d6-be59-dfa2b994ed2b-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/e833dd5d-978c-4a95-a492-a9bbc8177cb0-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "cb90e57b-23b2-4d22-a27d-e2fb8745b0c3", "children": ["85723834-2e47-487e-95bf-b5ce285aee89", "ac8b03d9-877d-4b54-81cc-71b4de358154"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562808142895, "stop": 1562808150243}], "start": 1562808142895, "stop": 1562808190578} -------------------------------------------------------------------------------- /tmp/my_allure_results/edc09225-c462-4551-8177-97de7f0429fa-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "2e2e451c-4750-404e-bda5-b0921c475f9d", "children": ["1dfa1e69-9470-47e6-8e17-5c1ab41f1f2b"], "befores": [{"name": "getDriver", "status": "passed", "start": 1563186704848, "stop": 1563186720891}], "start": 1563186704848, "stop": 1563186720996} -------------------------------------------------------------------------------- /tmp/my_allure_results/ef9af5b0-92d0-4ebc-b296-cfbde0681488-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "25db409e-be7a-43a8-a67e-dd809fb788ed", "children": ["806d36bc-fc46-4f69-b488-ba79b6157f39"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562211755346, "stop": 1562211760738}], "start": 1562211755346, "stop": 1562211781238} -------------------------------------------------------------------------------- /tmp/my_allure_results/f0b2247a-4bcd-4f9c-ac4b-9f4efac1e4d1-attachment.txt: -------------------------------------------------------------------------------- 1 | BasePage run 2 | -------------------------------------------------------------------------------- /tmp/my_allure_results/f1660b7a-b07d-4c8d-bb8b-c30e4db4e787-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "58c4fc59-957f-4510-8138-8686b6022016", "children": ["78aac418-9426-431b-ad79-477e3d7979c2"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562212131533, "stop": 1562212136043}], "start": 1562212131533, "stop": 1562212141620} -------------------------------------------------------------------------------- /tmp/my_allure_results/f2e8a26f-bb13-4ba5-b96c-bfee5f6ea55d-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_add_contacts", "status": "broken", "statusDetails": {"message": "AttributeError: 'PagesObjects' object has no attribute 'checkPoint'", "trace": "self = \ngetDriver = \n\n def test_add_contacts(self, getDriver):\n app = {\"driver\": getDriver,\"path\": PATH(\"/Users/luokai/PycharmProjects/UIautocn/Yamls/Android/loginTest.yaml\")}\n page = BasePage(app)\n page.operate()\n> page.checkPoint()\n\ntests/android_test_case/test_android_contacts.py:23: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = \n\n def checkPoint(self): # 检查点\n> self.page.checkPoint()\nE AttributeError: 'PagesObjects' object has no attribute 'checkPoint'\n\nPageObject/Android/HomePage/BasePage.py:19: AttributeError"}, "start": 1563186952189, "stop": 1563186957181, "uuid": "18393f9d-c533-4d64-bff7-16ca0247ced0", "historyId": "b703b4a1e6c51cbdfcd1decc16916015", "fullName": "tests.android_test_case.test_android_contacts.TestWebViewAndroid#test_add_contacts", "labels": [{"name": "feature", "value": "安卓业务"}, {"name": "parentSuite", "value": "tests.android_test_case"}, {"name": "suite", "value": "test_android_contacts"}, {"name": "subSuite", "value": "TestWebViewAndroid"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "69445-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.android_test_case.test_android_contacts"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/f2f3b32c-073d-4314-839e-b1abb75ddb7f-result.json: -------------------------------------------------------------------------------- 1 | {"name": "test_login", "status": "passed", "steps": [{"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-status-panel', 'find_type': 'id', 'operate_type': 'click', 'info': '点击登录'}"}], "start": 1562229440289, "stop": 1562229441458}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'account', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'majia', 'info': '输入用户名majia'}"}], "start": 1562229441472, "stop": 1562229442076}, {"name": "发送文本", "status": "broken", "statusDetails": {"message": "KeyError: 'defaultframe'\n", "trace": " File \"/Users/luokai/.virtualenvs/UIautocn/lib/python3.6/site-packages/allure_commons/_allure.py\", line 153, in impl\n return func(*a, **kw)\n File \"/Users/luokai/PycharmProjects/UIautocn/Base/WebBaseOperate.py\", line 138, in send_keys\n if operate[\"defaultframe\"]:\n"}, "parameters": [{"name": "operate", "value": "{'element_info': 'password', 'find_type': 'id', 'operate_type': 'send_keys', 'msg': 'a123456', 'info': '输入密码a123456'}"}], "start": 1562229442092, "stop": 1562229442697}, {"name": "单击", "status": "passed", "parameters": [{"name": "operate", "value": "{'element_info': 'login-sb', 'find_type': 'class_name', 'operate_type': 'click', 'info': '点击登录按鈕'}"}], "start": 1562229442710, "stop": 1562229446053}, {"name": "断言", "status": "passed", "parameters": [{"name": "operate", "value": "{'operate_type': 'assert_result', 'assert_point': 'in_page', 'assert_value': '會員中心', 'info': '断言是否有會員中心在页面内'}"}], "start": 1562229446054, "stop": 1562229446086}], "attachments": [{"name": "stdout", "source": "cbb9fe0f-b95d-4954-bbc2-33450a042e67-attachment.txt", "type": "text/plain"}], "start": 1562229439405, "stop": 1562229446087, "uuid": "cb271b3c-fb0b-4693-a79e-9b554049269d", "historyId": "f86719e74e6afb3b1bb97c1cfaf8b0a4", "fullName": "tests.test_case.test_pytest.TestSeller#test_login", "labels": [{"name": "feature", "value": "车商业务"}, {"name": "story", "value": "登录8891"}, {"name": "parentSuite", "value": "tests.test_case"}, {"name": "suite", "value": "test_pytest"}, {"name": "subSuite", "value": "TestSeller"}, {"name": "host", "value": "luokaideMacBook-Pro.local"}, {"name": "thread", "value": "57220-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "tests.test_case.test_pytest"}]} -------------------------------------------------------------------------------- /tmp/my_allure_results/f919ad4a-1674-4837-9a13-248b54cb48cc-container.json: -------------------------------------------------------------------------------- 1 | {"uuid": "8c7ebf06-3c82-4f9f-9309-f59885ee0065", "children": ["1c0ef193-7615-4f82-956e-621d2c0bd337", "365fa7e8-aa64-4b7c-9695-39c1c05dc988"], "befores": [{"name": "getDriver", "status": "passed", "start": 1562212205056, "stop": 1562212210136}], "start": 1562212205056, "stop": 1562212232400} -------------------------------------------------------------------------------- /tmp/my_allure_results/fe98c0d2-16f4-4500-a319-e44abc3754f7-attachment.txt: -------------------------------------------------------------------------------- 1 | conftest run 2 | BasePage run 3 | test_login run 4 | -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_list_banner1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_list_banner1.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_mid_banner1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_mid_banner1.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_mid_banner2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_mid_banner2.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_topBanner_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_topBanner_1.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_topBanner_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_topBanner_2.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_topBanner_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_topBanner_3.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_topBanner_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_topBanner_4.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_topBanner_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_topBanner_5.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/exp_topBanner_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/exp_topBanner_6.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/list_banner1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/list_banner1.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/mid_banner1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/mid_banner1.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/mid_banner2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/mid_banner2.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/temp_screen8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/temp_screen8.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/temp_screen9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/temp_screen9.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/top_banner1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/top_banner1.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/top_banner2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/top_banner2.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/top_banner3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/top_banner3.png -------------------------------------------------------------------------------- /tmp/usedCar_screenshot/top_banner4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lk236225128/UIautocn/9fa58e7ec4ca742727497266bf3681602db71699/tmp/usedCar_screenshot/top_banner4.png --------------------------------------------------------------------------------