python2.7 ,apium1.4.13 使用 find_element_by_name(),里面输入中文后,执行报错,中文无法识别,网上方法输入:
import sys reload(sys) sys.setdefaultencoding('utf8')
或者 find_element_by_name(u'中文') ,中文前面加 u 也无法解决;请问还有什么办法没?
报错感觉不太像是编码问题
—— 来自 TesterHome 官方 安卓客户端
看着像是什么,愿闻其详
看看 IDE 的编码?
你好编码如下:
import unittest import time import HTMLTestRunner from appium import webdriver import sys reload(sys) sys.setdefaultencoding('utf8')
index = 1
class mime_test(unittest.TestCase): def setUp(self): desired_caps = { 'app': 'com.herconnect', 'udid': '9cb9d70a66ada0e628b15242ac7abc2feecf8213', 'platformName': 'iOS', 'platformVersion': '9.3', 'deviceName': '0', 'unicodeKeyboard': True, 'resetKeyboard': True } self.driver = webdriver.Remote('http://19:4723/wd/hub', desired_caps)
def tearDown(self): self.driver.quit()
# def test_8_QQ_wechat(self): self.driver.find_element_by_name(u'下次再说').click() print(u'下次再说') time.sleep(3)
if name=='main': suit = unittest.TestSuite() suit.addTest(mime_test('test_8_QQ_wechat')) # suit.addTest(unittest.makeSuite(mime_test)) timestr = time.strftime('%Y%m%d%H%M', time.localtime(time.time())) filename = '/Users/huanshi/Desktop/img/' + timestr + '.html' fp = open(filename,"wb") html_runner = HTMLTestRunner.HTMLTestRunner(stream= fp , title= u'测试报告' , description= u'执行结果') html_runner.run(suit)
我想说的是 例如 pycharm 的 file encodings 选项是不是设置成 utf-8 。 还有 HTMLTestRunner 貌似要改动一下才能显示中文 可以查查百度。 直接执行脚本看看 IDE 里打印了啥 自己做个 print 看看 或者看看 appium 客户端里的 log 有啥信息 ,感觉不是编码的问题。下面报错 undefined status object 可以搜索一下
搜索了关于undefined status object错误的网页,在 testerhome 上有一个类似的内容: https://testerhome.com/topics/4460 并且已经得到解决:
undefined status object
** 解决方法 **: 像 click,sendkeys 这些方法 在测试 ios 时都会报这个错,使用 IOSElement 的就没有问题,比如使用 tap 而不是 click,使用 setValue 而不是 sendKeys
看是否对你有帮助?