前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化对日期控件的处理

自动化对日期控件的处理

作者头像
无涯WuYa
发布2018-10-25 16:20:17
1.7K0
发布2018-10-25 16:20:17
举报

和富文本一致,日期控件也是我们经常可常见的控件之一,而且大多数的日期控件都是readonly属性,需要人为的手动去选择对应的时间,很显然,在手工测试中,这是一个很简单,很容易做到的操作,在自动化中,对日期的控件,比手工测试的操作虽然一直,但是比较繁琐。对日期的控件,我们任然使用js来控制,然后通过控制js来实现我们的目的。

如下截图是一个日期控件,我们实现的目的就是在活动时间中,写入开始时间和结束时间,见效果图:

借用firebug的调试工具,查看该开始时间和结束时间的html代码,开始时间代码为:

<inputtype="text" style="cursor:pointer;"readonly="readonly" title="开始时间≥当前时间"placeholder="开始时间≥当前时间" value=""class="text-box hasDatepicker" name="act_start_time"id="dp1439183415476">

结束时间代码为:

<input type="text"style="cursor:pointer;" readonly="readonly" title="结束时间&gt;开始时间"placeholder="结束时间&gt;开始时间" value="" class="text-box hasDatepicker"name="act_stop_time" id="dp1439183415477">

对日期控件的处理思路一般为:

1、取消日期控件的readonly属性

2、给value赋值

3、写js代码来实现如上的1,2点,再webdriver对js进行处理

利用如上的三点思路,时间的js代码为:

startJs=js1="$(\"input[placeholder='开始时间≥当前时间']\").removeAttr('readonly');$(\"input[placeholder='开始时间≥当前时间']\").attr('value','2014-08-10 12:00:00')"

stopTime="$(\"input[placeholder='结束时间>开始时间']\").removeAttr('readonly');$(\"input[placeholder='结束时间>开始时间']\").attr('value','2014-08-1013:16:00')"

输入开始时间以及结束时间,实现的测试代码为:

#coding:utf-8

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.action_chains import ActionChains

from selenium.common.exceptions importNoSuchElementException, UnexpectedTagNameException

from selenium.webdriver.support.ui import Select

from selenium.webdriver.common.alert import Alert

from time import sleep

driver=webdriver.Firefox()

driver.maximize_window()

driver.implicitly_wait(30)

driver.get('file:///C:/Users/liwangping/Desktop/Time/index.html')

startTime="$(\"input[placeholder='开始时间≥当前时间']\").removeAttr('readonly');$(\"input[placeholder='开始时间≥当前时间']\").attr('value','2014-08-10 12:00:00')"

stopTime="$(\"input[placeholder='结束时间>开始时间']\").removeAttr('readonly');$(\"input[placeholder='结束时间>开始时间']\").attr('value','2014-08-1013:16:00')"

driver.execute_script(startTime)

driver.execute_script(stopTime)

sleep(5)

driver.quit()

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档