#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. Unity strip engine code可能会使程序崩溃

    最近正在做新大厅的红包推荐口令快速领金币入口拍卖行之类的功能,同事把我的捕鱼整合到他的项目中时出现了闪退的问题,经排查是因为strip engine code选项. Strip engine code ...

  2. tensorflow Relu激活函数

    1.Relu激活函数 Relu激活函数(The Rectified Linear Unit)表达式为:f(x)=max(0,x). 2.tensorflow实现 #!/usr/bin/env pyth ...

  3. maven-配置文件配置src/resource下的文件

    classpath*:只找到applicationContext.xml classpath:/找到了所有

  4. (转)Java中equals和==的区别

    java中的数据类型,可分为两类:  1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean    他们之间的比较,应用双等号( ...

  5. angularJS的$http.post请求,.net后台接收不到参数值的解决方案

    JS通用部分 var shoppingCartModule =angular.module('starter', ['ionic'], function ($httpProvider) { // Us ...

  6. 面向对象设计——抽象工厂(Abstract Factory)模式

    定义 提供一个创建一系列相关或者相互依赖对象的接口,而无需指定它们具体的类.抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道或关心实际产出的具体产品是什么.这样一来,客户就能从具体的产 ...

  7. RabbitMQ 使用场景一

    安装环境 1.下载安装 Erlang 运行时环境 2.下载安装 RabbitMQ Server 应用程序 3.启动 RabbitMQ 服务(默认启动) 4.安装管理平台插件并打开远程访问权限 4.1. ...

  8. 双向循环链表(C语言描述)(五)

    代码清单 // dictionary.h #ifndef __DICTIONARY_H__ #define __DICTIONARY_H__ #include <assert.h> #in ...

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

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

  10. 这是个巧妙的表达式: a ˆ= b ˆ= a ˆ= b 它不需要临时变量就可 以交换 a 和 b 的值。

    这不具有可移植性.它试图在序列点之间两次修改变量 a, 而这是无定义的. 例如,有人报告如下代码: int a = 123, b = 7654; a ^= b ^= a ^= b; 在 SCO 优化 ...