zoukankan      html  css  js  c++  java
  • 知识点及常见问题汇总

    一、时间等待
    1、sleep
    进程休眠,傻傻的等,会浪费时间
    2、implicityly_wait(30)
    等待页面全部加载完成
    ---页面加载完成的标志是左上角转圈结束
    ---如果页面元素加载完成了,某些js加载失败,页面左上角一直转圈,会耗费时间
    ---全局的,只写一次就行了
    -缺点:页面有跳转的时候,它不知道去等跳转后的页面
    3、WebDriverWait(self,driver,timeout,poii_frequency=POLL_FREQUENCY,ignored_exceptions=None)
    ---driver:打开浏览器的一个实例参数
    ---timeout:超时的总时长30s
    ---poii_frequency:循环去查询的间隙时间,默认0.5秒
    ---ignored_exceptions:忽略异常,默认忽略NoSuchElementException

    二、chrome浏览器调试css及xpath,在console中调试
    1、css
    $("css定位方法")
    2、xpath
    $x("xpath定位方法")

    三、元素的显示和隐藏
    元素在页面上的状态:
    1、不在dom里,也就是不存在这个元素
    2、在dom里,隐藏元素,页面上不显示is_dispaly---False
    3、在dom里,显示元素,页面上能看到is_dispaly ----True

    注意:隐藏元素可以成功定位,但无法操作(如输入值、点击等)

    四、分层思想
    1、在base中封装常用函数
    2、在page文件夹页面模块中调用base中的方法,封装页面操作步骤
    3、在tests文件夹用例中调用page步骤方法,并编写断言
    4、在run_all中运行所有用例

    五、当div中出现滚动条时,先定位div位置,再通过scrollTop和scrollLeft方法控制进度
    1、控制纵向滚动条
    js='document.getElementsByClassName("scroll")[0].scrollTop=10000;'
    2、控制横向滚动条
    js='document.getElementsByClassName("scroll")[0].scrollLeft=10000;'
    3、同时控制横向滚动条和纵向滚动条
    js='document.getElementsByClassName("scroll")[0].scrollTo(0,0);'

    六、js定位及插入文本
    1、frame中富文本
    js='document.getElementsByClassName("scroll")[0].contentWindow.document.body.innerHTML="hello world";'
    2、普通输入框插入文本
    js='document.getElementsByClassName("scroll")[0].value="hello";'
    3、时间控件不让输入怎么解决
    js='document.getElementByClassId("xxx").removeAttribute("readonly");' #先移除禁止输入的属性
    js='document.getElementByClassId("xxx").value="2018-02-12";' #更改时间值

    七、问题汇总

    1、错误:AttributeError: module 'http' has no attribute 'client'

    解决方法:一般这种报错是由于文件命名与系统关键字重复导致,修改文件名称即可

    2、错误:HTMLTestRunner_cn.py框架无法截图


    解决办法:用setUpClass,或 1、不要tearDown 2、Teardown内容写到setup
    3、使用ddt框架生成html报告的时候出现dict() -> new empty dictionary dict(mapping) 
    -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) ->

    解决办法:由于ddt版本过高导致,卸载ddt,安装较低版本
    pip uninstall ddt
    pip install ddt==1.1.2

    4、当页面使用jquery进行定位时,报错:$ id not defined
    原因:当前页面不支持jQuery
  • 相关阅读:
    自由职业一时爽,一直自由一直爽
    N+6 裁员裁出幸福感的背后
    你真的了解 Cookie 和 Session 吗?
    百亿级企业级 RPC 框架开源了!
    做一个有脑子的程序员
    Java 生态核心知识点整理
    关于第三方支付,看这篇文章就够了!
    程序员该不该主动提加薪?
    我是为何下定决心入行程序员的
    老程序员被新程序员拍在沙滩上?
  • 原文地址:https://www.cnblogs.com/yudx/p/11543795.html
Copyright © 2011-2022 走看看