1.验证页面上的车贷计算器算的结果是否与需求中给的公式结果一致。

页面图片:

代码如下(简单实现,需要优化):

package com.test;

import java.math.BigDecimal;

import org.junit.Assert;
import org.openqa.selenium.By;
import org.testng.Reporter;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Listeners;
import org.testng.annotations.Test; import com.core.base.MidConvert; /**
* @author QiaoJiafei
* @version 创建时间:2015年12月4日 下午2:23:36
* 类说明
*/
@Listeners({com.core.base.BaseListener.class})
public class Testlaiyongche extends MidConvert{
String url = "http://172.16.30.243:8888/offical/home.action";
double car_shoujia = 5000000.36;//车辆售价
double car_other = 1000.55;//其他费
double car_sfbl = 40.21;//首付比例
int car_zuqi = 24;//车辆租期 @BeforeClass
public void before() {
super.initDriver();
//http://172.16.30.243:8888/offical/home.action
dr.get(url);
lc = cm.getLocator("linkText", "业务指南");
cm.click(lc);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
lc = cm.getLocator("className", "marginbottom20");
dr.findElement(By.className("marginbottom20")).findElements(By.tagName("button")).get(3).click();
}
@AfterClass
public void after() {
super.tearDown();
}
@Test
public void testSuiXin() {
testmain("极速融","1",car_zuqi);//1-新车,2-二手车,3-LCV,4-微面
testmain("极速融","2",car_zuqi);
testmain("极速融","3",car_zuqi);
} @Test
public void testJs() {
testmain("随心融","1",car_zuqi);
}
@Test
public void testKx() {
testmain("开心融","4",car_zuqi);
} public void testmain(String pd, String ct, int carz) {
String product = pd;//融资产品
String cartype = ct;//车辆类型
//车辆类型:
lc = cm.getLocator("id", "carType");
cm.select(lc, ct); //融资产品:
lc = cm.getLocator("id", "product");
cm.select(lc, product); //车辆售价:
lc = cm.getLocator("id", "carPrice");
cm.type(lc, String.valueOf(car_shoujia)); //其他费用:
lc = cm.getLocator("id", "otherPrice");
cm.type(lc, String.valueOf(car_other)); //车辆租期:
lc = cm.getLocator("id", "tenancy");
cm.select(lc, String.valueOf(car_zuqi)); //首付比例
lc = cm.getLocator("xpath", "/html/body/section[2]/div/div/div/div/div[2]/div[4]/div[1]/table[2]/tbody/tr[6]/td[2]/input");
cm.type(lc, String.valueOf(car_sfbl)); //保证金比例
String s = dr.findElement(By.id("bail")).getText();
double bzj = car_shoujia*Integer.parseInt(s)/100; lc = cm.getLocator("id", "calculation");
cm.click(lc);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
double re_sfje = car_shoujia*car_sfbl/100 +bzj;//首付金额
double re_rzje = car_shoujia - re_sfje + car_other;//融资金额 double nll = 0;//月利率
if(product.equals("随心融")) {
nll = 0.17680;
}else if(product.equals("极速融")) {
if(cartype.equals("1")) {
nll = 0.17680;
}else if (cartype.equals("2")) {
nll = 0.18680;
}else if(cartype.equals("3")) {
nll = 0.19680;
}
}else if (product.equals("随意融")) {
nll = 0.18680;
}else if(product.equals("开心融")) {
nll = 0.25970;
}else if (product.equals("爱心融")) {
nll = 0.19680;
}
double yll = nll / 12;
double a = 1+yll;
double b = car_zuqi;
double temp = Math.pow(a, b); double re_yg = (re_rzje*yll*temp)/(temp-1);//月供金额
//BigDecimal bd1 = new BigDecimal(re_yg);
//double f1 = bd1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); double re_rg = re_yg/30;//日供
//BigDecimal bd2 = new BigDecimal(re_rg);
//double f2 = bd2.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue(); String ac_rzje = dr.findElement(By.id("financingAm")).getText();
String ac_sfje = dr.findElement(By.id("firstPay")).getText();
String ac_yg = dr.findElement(By.id("monthlyPay")).getText();
String ac_rg = dr.findElement(By.id("dayPay")).getText();
//System.out.println(ac_rzje+"------------"); Assert.assertEquals(new java.text.DecimalFormat("#.##").format(re_rzje), ac_rzje);
Assert.assertEquals(new java.text.DecimalFormat("#.##").format(re_sfje), ac_sfje);
Assert.assertEquals(new java.text.DecimalFormat("#.##").format(re_yg), ac_yg);
Assert.assertEquals(new java.text.DecimalFormat("#.##").format(re_rg), ac_rg); Reporter.log(pd+","+ct+",测试通过");
}
}

selenium验证车贷计算器算法的更多相关文章

  1. IOS OC 计算器算法(不考虑优先级)

    个人见解:为还在计算器算法方面迷惑的同学一个数据处理解决方案:定义一个可变数组array,一个可变字符串str,使字符通过[array addObject:str];方法添加到可变数组,每当触发运算符 ...

  2. Python开发——利用正则表达式实现计算器算法

    Python开发--利用正则表达式实现计算器算法 (1)不使用eval()等系统自带的计算方法 (2)实现四则混合运算.括号优先级解析 思路: 1.字符串预处理,将所有空格去除 2.判断是否存在括号运 ...

  3. iOS 收款计算器算法

    一个收款计算器算法,从之前高仿有赞Demo里面抽离的一个界面 demo 在这里 https://github.com/L-vinCent/calculView_function 显示计算记录 不能连续 ...

  4. 基于COCO数据集验证的目标检测算法天梯排行榜

    基于COCO数据集验证的目标检测算法天梯排行榜 AP50 Rank Model box AP AP50 Paper Code Result Year Tags 1 SwinV2-G (HTC++) 6 ...

  5. hdoj 2063 过山车【匈牙利算法+邻接矩阵or邻接表】

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  6. Selenium 验证picklist是可被正确选中且是有序的(动态数组赋值)

    原代码: <select id="edit-submitted-im-interesting-in" class="form-select required&quo ...

  7. hdu 2063 过山车【匈牙利算法】(经典)

    <题目链接> RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partne ...

  8. hdu-2063-过山车(匈牙利算法)

    过山车 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找 ...

  9. HDU 2063.过山车-Hungary(匈牙利算法)

    过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

随机推荐

  1. ActiveReports 9 新功能:创新的报表分层设计理念

    在最新发布的ActiveReports 9报表控件中添加了多项新功能,以帮助你在更短的时间里创建外观绚丽.功能强大的报表系统,本文将重点介绍创新的报表分层设计理念,对报表内容进行分组管理与设计,易于实 ...

  2. WCF使用泛型方法的问题

    public IList getModelList(string type, string SQL, List<string> list){ try { IList Mlist = new ...

  3. 1、Flat UI Getting started(文档翻译)

    下载链接:http://www.bootcss.com/p/flat-ui/ 一.什么是Flat UI? Flat UI 是一种漂亮的Boostrap主题.我们重新设计了它的很多组件,使得其看起来扁平 ...

  4. 自制html5塔防游戏

    这是一款由html5里的canvas和普通html元素结合的小游戏,游戏比较简单单一.主要是以建塔,防御为主.下面是游戏的一张截图: 这里是游戏的地址,直接去玩下吧:http://www.lovewe ...

  5. inherit与auto

    大家是不是和我一样,在刚开始学习css的时候,在css文件开头是不是经常看到这样的代码: * {margin:0 px; padding:0 px;}  . 在接下来设置颜色字体时在body元素的cs ...

  6. python基础(2)

    1.lambda函数 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,函数同样有简单的表示方法 # ###################### 普通函数 ######### ...

  7. 如何查询拥有执行某个Tcode权限所有人员

    方法很简单,如下 一:Tcode:S_BCE_68001400二:输入你想查询的Tcode,例如:SE38   打开如下图所示,然后执行即可   三:AUTH(关于权限的控制),打开如下图所示.上图“ ...

  8. SAP技术相关Tcode

    ABAP的常用tcode 开发----------------------------------------------- SE51  屏幕制作 SE91  MESSAGE OBJECT SE80  ...

  9. android 保存 用户名和密码 设置等应用信息优化

    1.传统的保存用户名,密码方式 SharedPreferences Editor editor = shareReference.edit(); editor.putString(KEY_NAME,& ...

  10. 【转】IOS开发资源汇总

    转自:http://blog.csdn.net/favormm/article/details/6664970 如何用Facebook graphic api上传视频: http://develope ...