#coding:utf-8

from time import sleep
from selenium import webdriver class cloudedge_register(object): def __init__(self,mailaddr,passwd,url):
self.mailaddr = mailaddr
self.passwd = passwd
self.url = url
self.browser = webdriver.Firefox() def register(self):
self.browser.get(self.url)
self.browser.maximize_window()
self.browser.implicitly_wait(10)
self.browser.find_element_by_link_text("注册").click()
self.browser.implicitly_wait(10)
self.browser.find_element_by_id("reglForm.email").clear()
self.browser.find_element_by_id("reglForm.email").send_keys(self.mailaddr)
self.browser.find_element_by_id("reglForm.password").clean()
self.browser.find_element_by_id("reglForm.password").send_keys(self.passwd)
self.browser.find_element_by_id("reglForm.confirmPassword").clear()
self.browser.find_element_by_id("reglForm.confirmPassword").send_keys(self.passwd)
sleep(8)
self.browser.find_element_by_link_text ("立即注册").click() class add_domain_info(object):
def __init__(self,username,password,domainName,originlp):
self.browser = webdriver.Firefox()
self.username = username
self.password = password
self.domainName = domainName
self.originlp = originlp
self.url = 'https://www.xxx.com/cn/index.html' def add_info(self):
'''登陆部分'''
self.browser.get(self.url)
self.browser.maximize_window()
self.browser.implicitly_wait(10)
self.browser.find_element_by_link_text("登录").click()
self.browser.implicitly_wait(10)
self.browser.find_element_by_id("username").clean()
self.browser.find_element_by_id("username").send_keys(self.username)
self.browser.find_element_by_id("password").clean()
self.browser.find_element_by_id("password").send_keys(self.password)
sleep(8) #输验证码
self.browser.find_element_by_id("loginBtn").click()
self.browser.implicitly_wait(10) '''新增加速域名'''
self.browser.find_element_by_link_text("xxxx").click()
self.browser.implicitly_wait(3)
self.browser.find_element_by_link_text("xxxx").click()
self.browser.find_element_by_id("xxxx).clear()
self.browser.find_element_by_id("xxxx").send_keys(self.domainName)
self.browser.find_element_by_id("xxxxx").clear()
self.browser.find_element_by_id("xxxxx").send_keys(self.oniginlp)
self.browser.find_element_by_class_name("saddd").click()
self.browser.implicitly_wait(3) #可有些问题 self.browser.find_element_by_name("xxx").send_keys("xxxx")
self.browser.find_element_by_name("xxxx").send_keys("xxx")
self.browser.find_element_by_link_text("xxxx").click()
self.browser.find_element_by_link_text("xxx").click() class modify_domain_info(object):
def __init__(self):
pass test = add_domain_info('cntanght@163.com','xxxxx','www.baidu.com、'1.0.0.1’)
test.add_info()

python+selenium自动化软件测试(第16章):基础实战(3)的更多相关文章

  1. python+selenium自动化软件测试(第15章):基础实战(2)

    #coding:utf-8 #for windows/py2.7 from time import sleep from selenium import webdriver browser = web ...

  2. python+selenium自动化软件测试(第14章):基础实战(1)

    #coding=utf- from selenium import webdriven from selenium.webdriver.common.by import By from seleniu ...

  3. python+selenium自动化软件测试(第13章):selenium面试题

    前言最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下 一.selenium中如何判断元素是否存在?expected_conditions模块提供了16种判断方法 ...

  4. python+selenium自动化软件测试(第10章):测试驱动TDD

    测试驱动开发模式,要求开发在写业务代码的时候,先写出测试代码,同时单元测试例子决定了如何来写产品的代码,并且不断的成功的执行编写的所有的单元测试例子,不断的完善单元测试例子进而完善产品代码, 这样随着 ...

  5. python+selenium自动化软件测试(第8章) :多线程

    前戏:线程的基础 运行多个线程同时运行几个不同的程序类似,但具有以下优点:进程内共享多线程与主线程相同的数据空间,如果他们是独立的进程,可以共享信息或互相沟通更容易.线程有时称为轻量级进程,他们并不需 ...

  6. python+selenium自动化软件测试(第11章):持续集成jenkins和GitHub的使用

    11.1 jenkins持续集成环境 相关安装包下载链接:http://pan.baidu.com/s/1qYhmlg4 密码:dcw2赠送jenkins集成selenium环境视频链接http:// ...

  7. python+selenium自动化软件测试(第9章) :Logging模块

    9.1 Logging模块 什么是日志记录?记录是跟踪运行时发生的事件的一种手段.该软件的开发人员将记录调用添加到其代码中,以指示某些事件已发生.事件由描述性消息描述,该消息可以可选地包含可变数据(即 ...

  8. python+selenium自动化软件测试(第12章):Python读写XML文档

    XML 即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进 行定义的源语言.xml 有如下特征: 首先,它是有标签对组成:<aa></aa> ...

  9. python+selenium自动化软件测试(第7章):Page Object模式

    什么是Page ObjectModel模式Page Objects是selenium的一种测试设计模式,主要将每个页面看作是一个class.class的内容主要包括属性和方法,属性不难理解,就是这个页 ...

随机推荐

  1. (转)HTTP协议漫谈

    HTTP协议漫谈   简介 园子里已经有不少介绍HTTP的的好文章.对HTTP的一些细节介绍的比较好,所以本篇文章不会对HTTP的细节进行深究,而是从够高和更结构化的角度将HTTP协议的元素进行分类讲 ...

  2. HDFS笔记——技术点汇总

    目录 · 概况 · 原理 · HDFS 架构 · 块 · NameNode · SecondaryNameNode · fsimage与edits合并 · DataNode · 数据读写 · 容错机制 ...

  3. 会话跟踪技术之——cookie

    1.cookieForm <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  4. Java 程序员技能导图 1.0

    做Java开发已经一年,并非科班出身,在毕业工作三年后毅然决然辞职,参加培训机构从零开始.在这期间迷茫.失望.绝望时常伴我左右,但是在不断自我提高与努力中渐渐看到一些小小的成果使我不断坚信自己的选择并 ...

  5. Android studio导出AAR包问题整理。

    最近因为项目需求开始整理一个SDK 以AAR的方式提供出去.在整理的过程中遇到了很多坑. 以下是一些总结希望能帮助遇到同样问题的人. 1.怎么导出AAR,这种文章太多了,我贴一个大家可以做参考. ht ...

  6. pwnable.kr random 之 write up

    ---恢复内容开始--- 首先看源代码: #include <stdio.h> int main(){ unsigned int random; random = rand(); // r ...

  7. mybatis 详解(二)------入门实例(基于XML)

    通过上一小节,mybatis 和 jdbc 的区别:http://www.cnblogs.com/ysocean/p/7271600.html,我们对 mybatis有了一个大致的了解,下面我们通过一 ...

  8. ++i,i++和i += 1的区别

    ++i,i++和i += 1的区别 单条语句:i++;.++i;和 i += 1;等价. int i = 0; ++i; // 或者i++;或者i += 1; cout << i < ...

  9. FarmCraft[POI2014]

    题目描述 In a village called Byteville, there are   houses connected with N-1 roads. For each pair of ho ...

  10. swift 录制多个音频 并将音频转换为mp3 并合成多个mp3文件为一个文件

    我的需求是可以录制多个文件,最后生成的文件格式为mp3形式,查了下各种资料,因为swift无法直接将音频录制为mp3格式,所以最后我采取的解决方案为先将每个单独的文件转为mp3,最后逐一合并形成一个m ...