Appium-Python3--UI自动化-[-15-]-报错:configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: "%)'] 的解决

报错内容:

 

Failed to import test module: app.BusinessProcess.testLendRequestProcess.testPrivateOwner.test_001_lend_request_private_owner_module
Traceback (most recent call last):
File "C:\Python36\lib\unittest\loader.py", line 428, in _find_test_path
module = self._get_module_from_name(name)
File "C:\Python36\lib\unittest\loader.py", line 369, in _get_module_from_name
__import__(name)
File "C:\chushujin\study\sales_ui_auto\testCase\app\BusinessProcess\testLendRequestProcess\testPrivateOwner\test_001_lend_request_private_owner_module.py", line 9, in <module>
from page.app.BusinessProcess.testLendRequestProcess.testPrivateOwner.page_sales_lend_request_private_owner_module import PageSalesLendRequestPrivateOwner
File "C:\chushujin\study\sales_ui_auto\page\app\BusinessProcess\testLendRequestProcess\testPrivateOwner\page_sales_lend_request_private_owner_module.py", line 8, in <module>
from locator.app.BusinessProcess.testLendRequestProcess.testPrivateOwner.locator_sales_lend_request_private_owner_module import LocatorSalesLendRequestPrivateOwner
File "C:\chushujin\study\sales_ui_auto\locator\app\BusinessProcess\testLendRequestProcess\testPrivateOwner\locator_sales_lend_request_private_owner_module.py", line 9, in <module>
class LocatorSalesLendRequestPrivateOwner:
File "C:\chushujin\study\sales_ui_auto\locator\app\BusinessProcess\testLendRequestProcess\testPrivateOwner\locator_sales_lend_request_private_owner_module.py", line 18, in LocatorSalesLendRequestPrivateOwner
lend_request_private_owner_proportion_of_shares_xpath = myConfig.getAppElement("lend_request_private_owner_proportion_of_shares_xpath")
File "C:\chushujin\study\sales_ui_auto\comm\my_config.py", line 62, in getAppElement
app_Element = config.get('appElement',key)
File "C:\Python36\lib\configparser.py", line 800, in get
d)
File "C:\Python36\lib\configparser.py", line 394, in before_get
self._interpolate_some(parser, option, L, value, section, defaults, 1)
File "C:\Python36\lib\configparser.py", line 444, in _interpolate_some
"found: %r" % (rest,))
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: "%)']/following::android.widget.EditText"

 

总的分析来说 ,最后一句才是重点:读取配置文件config.ini时候,里面存在%引起的

解决方法一:

configparser很可能正在读取字符串中的文字“%”符号。'%'符号用于字符串插值(替代)。如果要使用文字“%”,可以使用另一个“%”对其进行转义。例如,在configparser读取的配置变量中,使用“ 100 %%”表示“ 100%”。

解决方法二:

cf= configparser.ConfigParser()

改为:

cf = configparser.RawConfigParser()

posted @ 2020-09-18 18:52  旅行没有终点  阅读(874)  评论(0编辑  收藏  举报