文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python-selenum3 第四天定

2023-01-31 07:47

关注

如果把写用例当做是手工测试,那么UI级自动化就是将手工测试变成计算器自动执行的测试

将手工的顺序变成自动运行。手工测试如果就是点点点,那么只要找到元素,我们操作即可

元素的定位分很多,常用的如:id name class 对应的by.id by.name by.classname
这是标签执行就能看到的内容
例如

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("http://www.baidu.com")
driver.find_element_by_id("'kw").send_keys("1")
driver.find_element_by_name("wd").send_keys("2")
driver.find_element_by_class_name("s_ipt").send_keys("3")

还有常用的就是通过标签的路径进行定位,常用的路径定位就是xpath


浏览器的很多插件都可以提供xpath和css定位的方式 比如 常见的 firepath 和WebDriver Element Locator 等等。那么相对路径在运行时不能找到也可以使用绝对路径。但是 下面要说的还是自行编写:

#如果不想制定标签名称,可以用*号表示任意标签
#有id的值的时候
driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("http://www.baidu.com")
driver.find_element_by_xpath("//*[@id='kw']").send_keys("1")

#有name的值的时候
driver.find_element_by_xpath("//*[@name='wd']").send_keys("2")

#有class的值的时候
driver.find_element_by_xpath("//*[@class='s_ipt']").send_keys("3")

#任意唯一属性的值的时候
driver.find_element_by_xpath("//*[@autocomplete='off']").send_keys("4")#任意唯一属性的值的时候
ren = driver.find_element_by_xpath("//*[@autocomplete='off']")

python-selenum3 第四天定位——常用定位与Xpath定位详解

#如果想制定具体某个标签,就可以直接写标签名称
#<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">百度html
driver.find_element_by_xpath("//input[@name='wd']").send_keys("5")
#如果属性不明显,我们可以按照路径定位到他的上一层,xpath称为父元素,之后通过父元素在定位
#例如:这里的例子失败了。。。。。
driver.find_element_by_xpath("//span[@class='bg s_ipt_wr quickdelete-wrap']/input").send_keys("6")

#如果父元素定位不到,那么可以从父元素的父元素来定位,上上层,听说父亲的父亲是爷爷
driver.find_element_by_xpath("//form[@id='form']/span/input").send_keys("7")

python-selenum3 第四天定位——常用定位与Xpath定位详解

#同级N多相同,父元素就一个,子元素太多,可以按照出生来取名老大就是1,老二就是2.。。。
driver.find_element_by_xpath("//select[@name='ss']/option[1]").click()
driver.find_element_by_xpath("//select[@name='ss']/option[2]").click()
driver.find_element_by_xpath("//select[@name='ss']/option[3]").click()

关于逻辑运算定位and\or\not
and用的多一些 同时满足多个条件下的定位
例如

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("http://www.baidu.com")
driver.find_element_by_xpath("//*[@id='kw' and @autocomplete='off']").send_keys("1")

关于模糊匹配

driver = webdriver.Firefox(executable_path="d:\\geckodriver")
driver.get("http://www.baidu.com")
#模糊匹配某个属性
driver.find_element_by_xpath("//*[contains(@id,'kw')]").send_keys("123456789123456789")

#模糊匹配某个文字
driver.find_element_by_xpath("//*[contains(text(),'百度首页')]").click()

#模糊匹配以什么开头。这里id应该是kw
driver.find_element_by_xpath("//*[starts-with(@id,'k')]").send_keys("123456789")

#模糊匹配以什么结尾。这里name应该是tj_login
river.find_element_by_xpath("//*[ends-with(@name,'login')]").click()

#模糊匹配正则表达式。这里是百度上面的hao123连接,这里例子只能用在百度首页。其他页面不会显示hao123
driver.find_element_by_xpath("//*[matchs(text(),'hao123')]").click()
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯