ImportError: Start directory is not importable: './test_case'怎麼解決?已附上詳細程式碼和專案結果說明。
1、Pge object封裝:youdao_page.py存放於Page資料夾。
from poium import Page, NewPageElement
class YoudaoPage(Page):
search_box = NewPageElement(id_ = "com.youdao.dict:id/search_input_box")
search_button = NewPageElement(class_name = "android.widget.ImageView")
search_result =NewPageElement(id_ = "com.youdao.dict:id/tv_word")
2、APP啟動模組封裝:my_test.py存放於common資料夾。
import unittest,time
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import sys
from os.path import dirname, abspath
BASE_PATH = dirname(dirname(abspath(file)))
sys.path.append(BASE_PATH)
caps = {}
caps["deviceName"] = "HWJSN-HW"
caps["automationName"] = "appium"
caps["platformVersion"] = "10"
caps["platformName"] = "Android"
caps["appPackage"] = "com.youdao.dict"
caps["appActivity"] = ".activity.MainActivity"
caps["ensureWebviewsHavePages"] = True
class MyTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
cls.driver.implicitly_wait(10)
try:
loc = ("xpath", "//*[@text='始終允許']")
el = WebDriverWait(cls.driver, 5, 0.5).until(EC.presence_of_element_located(loc))
TouchAction(cls.driver).tap(el).perform()
except:
pass
@classmethod
def tearDownClass(cls):
cls.driver.quit()
if name=="main":
unittest.main()
3、測試用列封裝:test_word_search.py存放於test_case資料夾:
import unittest
import sys
from os.path import dirname, abspath
BASE_PATH = dirname(dirname(abspath(file)))
sys.path.append(BASE_PATH)
from common.my_test import MyTest
from page.youdao_page import YoudaoPage
class TestYoudaoSearch(MyTest):
def test_search_clear(self):
"""定義搜尋關鍵字:clear"""
page = YoudaoPage(self.driver)
page.search_box.click()
page.search_box = "clear"
page.search_button.click()
print(page.search_result.text)
self.assertEqual("clear", page.search_result.text)
if name=="main":
unittest.main()
4、執行測試封裝:run_tests.py存放於test_report資料夾。
import unittest
import time
import yagmail
from HTMLTestRunner import HTMLTestRunner
def send_mail(report):
yag = yagmail.SMTP(user = "%%%%@163.com",
password = "XESWYPMRUGLMIOYY",
host = "smtp.163.com")
subject = "主題:自動化測試報告"
contents = "請檢視郵件"
yag.send("%%%%@163.com",subject, contents, report)
print("email has send out")
if name == "main":
test_dir = './test_case'
suit = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')
now_time = time.strftime("%Y-%m-%d %H_%M_%S")
html_report = now_time + "youdao.html"
with open(html_report,"wb") as fp:
runner = HTMLTestRunner(stream=fp, title="youdao",
description="android",
verbosity=2)
runner.run(suit)
fp.close()
4、以上所有資料夾都存放於appium project資料夾內,每個資料夾也放置了 名為init.py的空檔案。
但執行測試回報如題所示的錯誤。請問是什麼原因造成的,怎麼解決?
相關文章
- ImportError: Start directory is not importable: './test_case'怎麼解決?ImportError
- Python Matplotlib add_subplot 和 subplots_adjust詳解及程式碼詳細說明 配圖片說明Python
- nginx 詳解 - 詳細配置說明Nginx
- nginx 詳解 – 詳細配置說明Nginx
- winscp操作說明,winscp操作說明的詳細解讀
- gitbook no such file or directory 怎麼解決Git
- SecurecRT亂碼怎麼辦?詳細解決方法分享~Securecrt
- NFT/Stepn跑鞋鏈遊專案/系統開發/方案詳細/技術詳情/原始碼說明原始碼
- Linux sed命令詳細說明Linux
- lodash已死?radash最全使用介紹(附原始碼詳細說明)—— Array方法篇(1)原始碼
- CH9434-MCU程式碼移植,晶片使用詳細說明(附Linux開發資料連結)晶片Linux
- VNC安裝配置詳細說明VNC
- Flask-Limit使用詳細說明FlaskMIT
- 支付寶程式碼示例結構說明
- 阿里雲物聯網平臺專用工具詳細說明阿里
- linux安裝mysql的步驟和方法詳細說明LinuxMySql
- 網路交換機功能和原理的詳細說明
- ios加固,ios程式碼混淆,ios程式碼混淆工具, iOS原始碼混淆使用說明詳解iOS原始碼
- jpa 方法 命名規則 詳細說明
- 深圳企業辦理等保備案流程詳細說明
- .net 知新:【3】.net 5 專案結構說明和釋出部署
- linux是什麼作業系統 linux和windows的區別詳細說明Linux作業系統Windows
- 程式設計不良人小專案合集說明程式設計
- Tarjan演算法及其應用 總結+詳細講解+詳細程式碼註釋演算法
- 【轉】Nginx部署多專案詳細總結Nginx
- JQuery Datatables Columns API 引數詳細說明jQueryAPI
- 寬頻路由器的詳細說明路由器
- 蘋果Search Ads要點及廣告專案結構詳解蘋果
- 【Docker】(10)---詳細說說 Dockerfile檔案Docker
- html程式碼複用怎麼解決?HTML
- 一文詳細說明電感的意義和作用 S
- 什麼是API介面?API介面的用途以及詳細示例說明。API
- 大模型演算法辦備案全網最詳細說明(+附件)大模型演算法
- FastQC結果詳解AST
- JPA SQL 查詢、結果集對映(@NamedNativeQuery、@ColumnResult註解說明)SQL
- json-server 接入專案說明JSONServer
- 02 Vue預設專案說明Vue
- steam怎麼改密碼 steam修改密碼詳細步驟圖解密碼圖解