美文网首页程序员测试员的那点事
【经验分享】Python实现UI自动化难点问题

【经验分享】Python实现UI自动化难点问题

作者: TeacherAilie | 来源:发表于2018-11-28 20:01 被阅读4次

    问题描述:

    1.执行自动化C:\Users\当前用户\AppData\Local\Temp 目录产生大量临时文件导致自动化执行异常。

    应用场景:

    1. 所有Windows机器的默认配置。

    原因:

    1. 编译执行Python脚本产生.pyc文件和.pyd文件。
    2. 通过Selenium下的Webdriver调用浏览器驱动程序(如chromedriver.exe)在没有正常退出的情况下产生的临时内存文件没有被释放。
    3. 操作系统本身使用产生的临时文件。

    分析:

    1. Python语言特性+操作系统特性。

    解决方案:

    1. 通过更改默认临时文件目录,然后创建浏览器进程前之前清除。
    2. 在F盘创建TEMP文件夹。
    3. 更改环境变量TEMP和TMP(包含用户变量和系统变量都要更改),值为F:\TEMP。
    4. 重启电脑。
    5. Python代码os.popen('RD %TEMP% /S/Q')。
    6. Python代码os.popen('MKDIR %TEMP%')。

    问题描述:

    1. 《object》《/object》上传文件不能send_keys方法。

    应用场景:

    1. 所有除了《input》上传文件的地方。

    原因:

    1. 弹出本地路径选择框,相当于flash,Selenium类库本身暂不支持操作flash。

    分析:

    1. 点击触发文件系统选择框的按钮后,由于焦点自动聚焦在文件路径输入框,这时模拟键盘输入事件,输入所需文件的路径即可。

    解决方案:

    1. options.add_argument('--user-data-dir=C:/Users/kats/AppData/Local/Google/Chrome/User Data') 用于解决点击按钮后提示“允许使用flash”,原理是手动指定chrome配置文件,前提是chrome设置中已设置在运行flash之前不再询问。
    2. 利用PyUserInput中的pykeyboard模拟键盘输入事件,原理是keyboard会根据当前聚焦的元素位置输入,然后直接输入文件所在的路径+文件名。

    结语:

    跟大家推荐一个学习资料分享群:175317069,里面大牛已经为我们整理好了许多的学习资料,有自动化,接口,性能等等的学习资料!人生是一个逆水行舟的过程,不进则退,咱们一起加油吧!

    相关文章

      网友评论

        本文标题:【经验分享】Python实现UI自动化难点问题

        本文链接:https://www.haomeiwen.com/subject/sxnzqqtx.html