jenkins+jmeter+ant自动化接口测试集成

搭建环境(JDK、Ant、Jmeter、Jenkin最近版本):

JDK:jdk1.8.0_60

Ant:apache-ant-1.10.2

Jmeter: apache-jmeter-3.0

Jenkins:Jenkins 2.88

1、JDK的安装

双击JDK安装包,选择安装路径C:\Progrom Files\Java\jdk1.8.0_60路径下);

 


1)系统变量→新建 JAVA_HOME 变量 。

变量值填写jdk的安装目录(本人是 C:\Progrom Files\Java\jdk1.8.0_60);

 

2)系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

 

3)系统变量→新建 CLASSPATH 变量

变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意最前面有一点)

系统变量配置完毕

4)检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)

 

2、jmeter安装

1)解压apache-jmeter-3.0.zip到D:\Progrom Files目录下。

 

2)将以下两个文件夹下的插件拷贝到D:\Progrom Files\apache-jmeter-3.0\lib\ext目录下

 

 

3)环境变量配置


a、 设置环境变量,新建系统变量在变量名中输入:JMETER_HOME,变量值中输入:D:\Progrom Files\apache-jmeter-3.0,点击确定即可。

b、在环境变量CLASSSPATH中添加%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

%JMETER_HOME%\lib\logkit-2.0.jar;(注意:你要看下你的是不是logkit-2.0这个版本).

c、 检验是否配置成功 运行cmd 输入 jmeter -v (jmeter和 -v 之间有空格)

若如图所示 显示版本信息 则说明安装和配置成功。

 

3、安装ant

1)解压apache-ant-1.10.2.zip到D:\Progrom Files目录下;

 

2)配置环境变量

a、新建以下环境变量

ANT_HOME:D:\Progrom Files\apache-ant-1.9.7,此为你的ANT安装路径;

b、在环境变量PATH的最后面添加一下内容:

;%ANT_HOME%\bin 注意前面的分号,如果PATH中最后没有分号";"的话要加上,有的话就可去除。

c、进入cmd命令窗口,在CMD窗口中输入ant -version,敲击回城键,会显示出你安装的ANT版本,如果成功显示,说明你的配置应该是成功了。

 

3)本地调试使用ant构建运行Jmeter,并且生成jtl、Html报告;


jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
将apache-jmeter-3.0\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.10.2\lib目录下;
配置D:\Program Files\apache-jmeter-3.0\extras目录下build.xml文件
build文件配置

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<taskdef resource="net/sf/antcontrib/antlib.xml" />
<!-- (1)需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.0"/>
<property name="report.title" value="report"/>
<!-- (2)jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\Program Files\apache-jmeter-3.0\reports\jtl"/>
<!-- (3)jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\Program Files\apache-jmeter-3.0\reports\html"/>
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="TestReport"/>
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl"/>
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html"/>

<target name="run"> 
<antcall target="test"/> 
<antcall target="report"/> 
<!--antcall target="mail"/--> 
</target>
<target name="test"> 
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/> 
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> 
<!-- (4)build.xml的存放的路径-->
<testplans dir="D:\Program Files\apache-jmeter-3.0\demo" includes="*.jmx"/> 
<property name="jmeter.save.saveservice.output_format" value="xml"/> 
</jmeter> 
</target>
<path id="xslt.classpath"> 
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> 
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> 
</path>
<target name="report"> 
<tstamp> 
<format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/>
</tstamp> 
<xslt 
classpathref="xslt.classpath" 
force="true" 
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report.xsl"> 
<param name="dateReport" expression="${report.datestamp}"/> 
</xslt> 

<copy todir="${jmeter.result.html.dir}"> 
<fileset dir="${jmeter.home}/extras"> 
<include name="collapse.png"/> 
<include name="expand.png"/> 
</fileset> 
</copy> 
</target>
<path id="lib_classpath">
<fileset dir="${basedir}/">
<include name="mail*.jar" />
<include name="activation*.jar" />
<include name="commons-email*.jar" />
<include name="ant-contrib*.jar" />
</fileset>
</path>
<!--target name="mail">
<for list="[email protected]" param="tmp" >
<sequential>
<echo>message @{tmp}</echo> 
<mail mailhost="smtp.thunisoft.com" mailport="25" ssl="false" subject="ant mail" messagemimetype="text/html" user="zhangjn" password="*******" tolist="@{tmp}">
<from address="[email protected]" />
<fileset dir="${jmeter.result.html.dir}">
<include name="*.html" />
<include name="*.png" />
</fileset>
<message>支持多人同时发邮件!!<br /><br /></message>
</mail>
</sequential>
</for>
</target-->
</project>

  

备注:注释中的(1)(2)(3)(4)该成自己的路径;jmeter-results-detail-report.xsl这个配置值在你的

${jmeter.home}/extras目录下是不是这个名称,配置改成你对应的名称就可以了;把build.xml文件放到(4)中配置的这个路径中
D:\Program Files\apache-jmeter-3.0\demo,并把要执行的脚本也放到同一目录下,如图:


5、cmd到demo的目录下执行ant命令,如图:

 

以上说明执行成功了,到你配置的报告目录下去看生成的报告D:\Program Files\apache-jmeter-3.0\reports\html

 

备注:如果生成的报告为空的,可能是你的jmeter-results-detail-report.xsl配置有问题可以参考一下配置:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<!-- 
Stylesheet for processing 2.1 output format test result files 
To uses this directly in a browser, add the following to the JTL file as line 2:
<?xml-stylesheet type="text/xsl" href="../extras/jmeter-results-detail-report_21.xsl"?>
and you can then view the JTL in a browser
-->

<xsl:output method="html" indent="yes" encoding="UTF-8" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" />

<!-- Defined parameters (overrideable) -->
<xsl:param name="showData" select="‘n‘"/>
<xsl:param name="titleReport" select="‘Load Test Results‘"/>
<xsl:param name="dateReport" select="‘date not defined‘"/>

<xsl:template match="testResults">
<html>
<head>
<title><xsl:value-of select="$titleReport" /></title>
<style type="text/css">
body {
font:normal 68% verdana,arial,helvetica;
color:#000000;
}
table tr td, table tr th {
font-size: 68%;
}
table.details tr th{
color: #ffffff;
font-weight: bold;
text-align:center;
background:#2674a6;
white-space: nowrap;
}
table.details tr td{
background:#eeeee0;
white-space: nowrap;
}
h1 {
margin: 0px 0px 5px; font: 165% verdana,arial,helvetica
}
h2 {
margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica
}
h3 {
margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica
}
.Failure {
font-weight:bold; color:red;
}


img
{
border-width: 0px;
}

.expand_link
{
position=absolute;
right: 0px;
width: 27px;
top: 1px;
height: 27px;
}

.page_details
{
display: none;
}

.page_details_expanded
{
display: block;
display/* hide this definition from IE5/6 */: table-row;
}


</style>
<script language="JavaScript"><![CDATA[
function expand(details_id)
{

document.getElementById(details_id).className = "page_details_expanded";
}

function collapse(details_id)
{

document.getElementById(details_id).className = "page_details";
}

function change(details_id)
{
if(document.getElementById(details_id+"_image").src.match("expand"))
{
document.getElementById(details_id+"_image").src = "collapse.png";
expand(details_id);
}
else
{
document.getElementById(details_id+"_image").src = "expand.png";
collapse(details_id);
} 
}
]]></script>
</head>
<body>

<xsl:call-template name="pageHeader" />

<xsl:call-template name="summary" />
<hr size="1" width="95%" align="center" />

<xsl:call-template name="pagelist" />
<hr size="1" width="95%" align="center" />

<xsl:call-template name="detail" />

</body>
</html>
</xsl:template>

<xsl:template name="pageHeader">
<h1><xsl:value-of select="$titleReport" /></h1>
<table width="100%">
<tr>
<td align="left">Date report: <xsl:value-of select="$dateReport" /></td>
<td align="right">Designed for use with <a >JMeter</a> and <a >Ant</a>.</td>
</tr>
</table>
<hr size="1" />
</xsl:template>

<xsl:template name="summary">
<h2>Summary</h2>
<table align="center" class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
<tr valign="top">
<th># Samples</th>
<th>Failures</th>
<th>Success Rate</th>
<th>Average Time</th>
<th>Min Time</th>
<th>Max Time</th>
</tr>
<tr valign="top">
<xsl:variable name="allCount" select="count(/testResults/*)" />
<xsl:variable name="allFailureCount" select="count(/testResults/*[attribute::s=‘false‘])" />
<xsl:variable name="allSuccessCount" select="count(/testResults/*[attribute::s=‘true‘])" />
<xsl:variable name="allSuccessPercent" select="$allSuccessCount div $allCount" />
<xsl:variable name="allTotalTime" select="sum(/testResults/*/@t)" />
<xsl:variable name="allAverageTime" select="$allTotalTime div $allCount" />
<xsl:variable name="allMinTime">
<xsl:call-template name="min">
<xsl:with-param name="nodes" select="/testResults/*/@t" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="allMaxTime">
<xsl:call-template name="max">
<xsl:with-param name="nodes" select="/testResults/*/@t" />
</xsl:call-template>
</xsl:variable>
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$allFailureCount > 0">Failure</xsl:when>
</xsl:choose>
</xsl:attribute>
<td align="center">
<xsl:value-of select="$allCount" />
</td>
<td align="center">
<xsl:value-of select="$allFailureCount" />
</td>
<td align="center">
<xsl:call-template name="display-percent">
<xsl:with-param name="value" select="$allSuccessPercent" />
</xsl:call-template>
</td>
<td align="center">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$allAverageTime" />
</xsl:call-template>
</td>
<td align="center">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$allMinTime" />
</xsl:call-template>
</td>
<td align="center">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$allMaxTime" />
</xsl:call-template>
</td>
</tr>
</table>
</xsl:template>

<xsl:template name="pagelist">
<h2>Pages</h2>
<table align="center" class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
<tr valign="top">
<th>URL</th>
<th># Samples</th>
<th>Failures</th>
<th>Success Rate</th>
<th>Average Time</th>
<th>Min Time</th>
<th>Max Time</th>
<th></th>
</tr>
<xsl:for-each select="/testResults/*[not(@lb = preceding::*/@lb)]">
<xsl:variable name="label" select="@lb" />
<xsl:variable name="count" select="count(../*[@lb = current()/@lb])" />
<xsl:variable name="failureCount" select="count(../*[@lb = current()/@lb][attribute::s=‘false‘])" />
<xsl:variable name="successCount" select="count(../*[@lb = current()/@lb][attribute::s=‘true‘])" />
<xsl:variable name="successPercent" select="$successCount div $count" />
<xsl:variable name="totalTime" select="sum(../*[@lb = current()/@lb]/@t)" />
<xsl:variable name="averageTime" select="$totalTime div $count" />
<xsl:variable name="minTime">
<xsl:call-template name="min">
<xsl:with-param name="nodes" select="../*[@lb = current()/@lb]/@t" />
</xsl:call-template>
</xsl:variable>
<xsl:variable name="maxTime">
<xsl:call-template name="max">
<xsl:with-param name="nodes" select="../*[@lb = current()/@lb]/@t" />
</xsl:call-template>
</xsl:variable>
<tr valign="top">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="$failureCount > 0">Failure</xsl:when>
</xsl:choose>
</xsl:attribute>
<td>
<xsl:if test="$failureCount > 0">
<a><xsl:attribute name="href">#<xsl:value-of select="$label" /></xsl:attribute>
<xsl:value-of select="$label" />
</a>
</xsl:if>
<xsl:if test="0 >= $failureCount">
<xsl:value-of select="$label" />
</xsl:if>
</td>
<td align="center">
<xsl:value-of select="$count" />
</td>
<td align="center">
<xsl:value-of select="$failureCount" />
</td>
<td align="right">
<xsl:call-template name="display-percent">
<xsl:with-param name="value" select="$successPercent" />
</xsl:call-template>
</td>
<td align="right">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$averageTime" />
</xsl:call-template>
</td>
<td align="right">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$minTime" />
</xsl:call-template>
</td>
<td align="right">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$maxTime" />
</xsl:call-template>
</td>
<td align="center">
<a href="">
<xsl:attribute name="href"><xsl:text/>javascript:change(‘page_details_<xsl:value-of select="position()" />‘)</xsl:attribute>
<img src="expand.png" alt="expand/collapse"><xsl:attribute name="id"><xsl:text/>page_details_<xsl:value-of select="position()" />_image</xsl:attribute></img> 
</a>
</td>
</tr>

<tr class="page_details">
<xsl:attribute name="id"><xsl:text/>page_details_<xsl:value-of select="position()" /></xsl:attribute>
<td colspan="8" bgcolor="#FF0000">
<div align="center">
<b>Details for Page "<xsl:value-of select="$label" />"</b>
<table bordercolor="#000000" bgcolor="#2674A6" border="0" cellpadding="1" cellspacing="1" width="95%">
<tr>
<th>Thread</th>
<th>Iteration</th>
<th>Time (milliseconds)</th>
<th>Bytes</th>
<th>Success</th>
</tr>

<xsl:for-each select="../*[@lb = $label and @tn != $label]"> 
<tr>
<td><xsl:value-of select="@tn" /></td>
<td align="center"><xsl:value-of select="position()" /></td>
<td align="right"><xsl:value-of select="@t" /></td>
<!-- TODO allow for missing bytes field -->
<td align="right"><xsl:value-of select="@by" /></td>
<td align="center"><xsl:value-of select="@s" /></td>
</tr>
</xsl:for-each>

</table>
</div>
</td>
</tr>

</xsl:for-each>
</table>
</xsl:template>

<xsl:template name="detail">
<xsl:variable name="allFailureCount" select="count(/testResults/*[attribute::s=‘false‘])" />

<xsl:if test="$allFailureCount > 0">
<h2>Failure Detail</h2>

<xsl:for-each select="/testResults/*[not(@lb = preceding::*/@lb)]">

<xsl:variable name="failureCount" select="count(../*[@lb = current()/@lb][attribute::s=‘false‘])" />

<xsl:if test="$failureCount > 0">
<h3><xsl:value-of select="@lb" /><a><xsl:attribute name="name"><xsl:value-of select="@lb" /></xsl:attribute></a></h3>

<table align="center" class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
<tr valign="top">
<th>Response</th>
<th>Failure Message</th>
<xsl:if test="$showData = ‘y‘">
<th>Response Data</th>
</xsl:if>
</tr>

<xsl:for-each select="/testResults/*[@lb = current()/@lb][attribute::s=‘false‘]">
<tr>
<td><xsl:value-of select="@rc | @rs" /> - <xsl:value-of select="@rm" /></td>
<td><xsl:value-of select="assertionResult/failureMessage" /></td>
<xsl:if test="$showData = ‘y‘">
<td><xsl:value-of select="./binary" /></td>
</xsl:if>
</tr>
</xsl:for-each>

</table>
</xsl:if>

</xsl:for-each>
</xsl:if>
</xsl:template>

<xsl:template name="min">
<xsl:param name="nodes" select="/.." />
<xsl:choose>
<xsl:when test="not($nodes)">NaN</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$nodes">
<xsl:sort data-type="number" />
<xsl:if test="position() = 1">
<xsl:value-of select="number(.)" />
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

<xsl:template name="max">
<xsl:param name="nodes" select="/.." />
<xsl:choose>
<xsl:when test="not($nodes)">NaN</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$nodes">
<xsl:sort data-type="number" order="descending" />
<xsl:if test="position() = 1">
<xsl:value-of select="number(.)" />
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

<xsl:template name="display-percent">
<xsl:param name="value" />
<xsl:value-of select="format-number($value,‘0.00%‘)" />
</xsl:template>

<xsl:template name="display-time">
<xsl:param name="value" />
<xsl:value-of select="format-number($value,‘0 ms‘)" />
</xsl:template>

</xsl:stylesheet>

 

 

4、jenkins安装

1)之前本地已经安装过jenkins了,这里就不在讲如何安装jenkins。

2)jenkins构建项目

a、输入任务名称,点击构建一个自由风格的软件项目,点击确定

 

b、在构建中添加Invoke Ant

 

 

 

c、在点击高级

 

配置你在build.xml文件中配置的build.xml的路径,点击保存

d、点击立即构建,出现蓝色说明执行成功了,如图:

 

备注:到你在build.xml中配置的报告路径去找执行后的报告就可以了。————————————————版权声明:本文为CSDN博主「qq_30684681」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_30684681/article/details/79577372

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金
香港蓝月亮精选免费资料大全,香港蓝月亮精选免费资料大全期期准app预约 湖南省| 泽州县| 永和县| 上饶县| 贺州市| 南皮县| 建湖县| 襄樊市| 上犹县| 聂荣县| 新昌县| 大姚县| 静宁县| 清水县| 东明县| 西藏| 光山县| 南陵县| 海安县| 巢湖市| 牟定县| 马鞍山市| 定襄县| 申扎县| 衡东县| 富平县| 安岳县| 新泰市| 临夏县| 巧家县| 松桃| 新乐市| 双江| 龙南县| 娄烦县| 景德镇市| 土默特右旗| 武邑县| 百色市| 安图县| 洛阳市| 休宁县| 玉田县| 万全县| 泰和县| 二连浩特市| 香河县| 宣化县| 安图县| 黄龙县| 玉屏| 永兴县| 微博| 德令哈市| 皮山县| 祥云县| 东安县| 务川| 东丰县| 武乡县| 神池县| 兰西县| 阳城县| 凤城市| 新建县| 伽师县| 深泽县| 肥乡县| 额敏县| 诸暨市| 景谷| 获嘉县| 调兵山市| 本溪市| 广元市| 乐至县| 宁波市| 铜山县| 秀山| 南康市| 稷山县| 洛川县| 建湖县| 隆子县| 元朗区| 游戏| 内丘县| 云梦县| 东安县| 东安县| 成武县| 都匀市| 东乡县| 双辽市| 卢氏县| 萨嘎县| 平舆县| 二手房| 九江市| 东明县| 嵊泗县| 嘉禾县| 柳江县| 贺州市| 中山市| 宁河县| 南川市| 鄂托克旗| 大姚县| 盐山县| 和田市| 桂平市| 吉木萨尔县| 新竹市| 辽源市| 垣曲县| 宕昌县| 三河市| 泸溪县| 象州县| 子长县| 涞水县| 宾阳县| 罗平县| 剑河县| 象州县| 吉木萨尔县| 平凉市| 屯留县| 汶上县| 洪洞县| 玛沁县| 贡觉县| 黄梅县| 正镶白旗| 东台市| 绥宁县| 江口县| 迁西县| 深州市| 友谊县| 高尔夫| 神池县| 吐鲁番市| 镇安县| 嘉兴市| 清涧县| 大田县| 安塞县| 兴安县| 清苑县| 泰州市| 辽中县| 崇信县| 平顺县| 镶黄旗| 成安县| 云和县| 阿克陶县| 南皮县| 子长县| 怀集县| 连城县| 筠连县| 普兰县| 从化市| 日土县| 县级市| 麻江县| 资讯| 三江| 岢岚县| 眉山市| 瓦房店市| 五台县| 奉节县| 普陀区| 古田县| 郑州市| 科尔| 天等县| 石城县| 和顺县| 南郑县| 靖西县| 勃利县| 阿拉善盟| 香河县| 汉中市| 扬州市| 吉木萨尔县| 肥城市| 如东县| 怀远县| 开鲁县| 武穴市| 务川| 宜兴市| 凌云县| 阜南县| 泸定县| 千阳县| 萨迦县| 图木舒克市| 隆安县| 安康市| 吴江市| 井陉县| 平利县| 榆林市| 景泰县| 科技| 临颍县| 怀来县| 东乡县| 醴陵市| 伊金霍洛旗| 特克斯县| 和田县| 长葛市| 湘西| 织金县| 宁都县| 都江堰市| 阿克陶县| 淮阳县| 凌源市| 平度市| 裕民县| 安庆市| 镇坪县| 保德县| 德令哈市| 多伦县| 五台县| 巴青县| 兰考县| 沁源县| 闽清县| 武鸣县| 新闻| 龙川县| 阳原县| 会昌县| 深圳市| 栾城县| 昔阳县| 女性| 台南县| 宣化县| 永吉县| 库尔勒市| 嘉义县| 永泰县| 湘乡市| 青川县| 柳江县| 沈丘县| 施甸县| 平罗县| 华安县| 龙川县| 西平县| 大同市| 斗六市| 浦城县| 财经| 连云港市| 郸城县| 永寿县| 千阳县| 德惠市| 鲁甸县| 交城县| 井陉县| 和龙市| 车致| 贡觉县| 新绛县| 晋中市| 平塘县| 康保县| 青海省| 南郑县| 江阴市| 余江县| 滁州市| 长春市| 微山县| 阳泉市| 峨眉山市| 镇江市| 合阳县| 北辰区| 始兴县| 二手房| 乌恰县| 汾阳市| 仙游县| 秦皇岛市| 台前县| 松滋市| 云南省| 克山县| 贵德县| 邹城市| 靖宇县| 绍兴县| 武宣县| 松溪县| 阿鲁科尔沁旗| 太保市| 江口县| 双流县| 内江市| 赣州市| 佛坪县| 河源市| 昌邑市| 工布江达县| 依安县| 中山市| 巴楚县| 大余县| 炎陵县| 吴川市| 崇左市| 洪泽县| 高淳县| 方山县| 宁武县| 乌苏市| 阜康市| 虞城县| 万全县| 丽水市| 台中县| 江华| 天门市| 和政县| 黑水县| 扬州市| 邢台市| 绥滨县| 吴桥县| 登封市| 临颍县| 东明县| 德庆县| 遵化市| 青浦区| 龙游县| 西青区| 晋中市| 博兴县| 浮梁县| 文登市| 山丹县| 石屏县| 嘉善县| 哈密市| 连南| 绥棱县| 嵩明县| 黔西县| 禹城市| 文昌市| 濉溪县| 河西区| 炉霍县| 资阳市| 长岛县| 乌拉特中旗| 突泉县| 江都市| 四子王旗| 吉木乃县| 辽宁省| 望奎县| 方正县| 库伦旗| 施秉县| 石门县| 临漳县| 田东县| 卓尼县| 浦江县| 长垣县| 于都县| 景泰县| 榆林市| 仁寿县| 平果县| 济源市| 林甸县| 页游| 永新县| 同仁县| 安达市| 汝阳县| 天津市| 诏安县| 新郑市| 鹤山市| 日照市| 忻城县| 武平县| 南宫市| 洛阳市| 万年县| 克拉玛依市| 新龙县| 南昌市| 定结县| 鱼台县| 德令哈市| 海林市| 石狮市| 洞头县| 阿巴嘎旗| 乐亭县| 姚安县| 内黄县| 永丰县| 乌鲁木齐县| 会东县| 淮南市| 合阳县| 永济市| 陈巴尔虎旗| 南丰县| 宣恩县| 东乌珠穆沁旗| 安陆市| 宁陵县| 花莲县| 莱芜市| 金秀| 淳安县| 德庆县| 万盛区| 呼图壁县| 漳浦县| 全南县| 云和县| 海林市| 迁安市| 宁强县| 凌海市| 麟游县| 苏尼特左旗| 凌海市| 壤塘县| 花莲市| 新竹县| 宝坻区| 东台市| 霍城县| 余庆县| 巫溪县| 阳春市| 海门市| 西和县| 安庆市| 白银市| 综艺| 石狮市| 沿河| 翁源县| 肃宁县| 闵行区| 青田县| 七台河市| 嘉定区| 忻州市| 临潭县| 万宁市| 特克斯县| 姚安县| 察哈| 辽宁省| 信阳市| 贵德县| 永清县| 丽水市| 大宁县| 宁河县| 陆良县| 广德县| 绿春县| 永兴县| 张家川| 凤凰县| 张掖市| 横峰县| 临朐县| 淳化县| 习水县| 华坪县| 哈尔滨市| 湖北省| 池州市| 贵德县| 定陶县| 资阳市| 永泰县| 南漳县| 花垣县| 黄冈市| 泸溪县| 东安县| 田阳县| 浦城县| 锦州市| 隆尧县| 蒲江县| 偏关县| 小金县| 麦盖提县| 潼南县| 丹东市| 秭归县| 资兴市| 镇康县| 惠东县| 聊城市| 长海县| 万源市| 资溪县| 依安县| 周至县| 安义县| 宣汉县| 区。| 三台县| 图木舒克市| 鄂托克旗| 揭西县| 监利县| 临海市| 明星| 开原市| 蓬溪县| 扎兰屯市| 宜春市| 云安县| 尖扎县| 龙游县| 宜昌市| 习水县| 恩平市| 渝中区| 石嘴山市| 全南县| 大石桥市| 开封县| 西畴县| 卓资县| 泰安市| 额敏县| 大丰市| 绥宁县| 贞丰县| 白朗县| 炉霍县| 米林县| 郑州市| 鄂尔多斯市| 上高县| 论坛| 大同县| 新郑市| 屯留县| 新兴县| 广西| 陆河县| 那坡县| 通江县| 谢通门县| 辽中县| 时尚| 白城市| 桐庐县| 武邑县| 马关县| 威海市| 景东| 吉林市| 宜宾市| 延长县| 五原县| 宁海县| 饶阳县| 双江| 江都市| 余干县| 吐鲁番市| 新昌县| 阳城县| 香格里拉县| 周口市| 灯塔市| 修武县| 峨边| 平江县| 增城市| 黄石市| 获嘉县| 徐州市| 泾源县| 隆安县| 庐江县| 曲阳县| 大关县| 宁化县| 大英县| 崇明县| 北碚区| 潼关县| 皮山县| 岢岚县| 呼和浩特市| 牡丹江市| 峨眉山市| 汾阳市| 石林| 仁布县| 瑞丽市| 鲁山县| 工布江达县| 仙桃市| 和静县| 锡林郭勒盟| 那曲县| 杭锦旗| 合水县| 达州市| 双桥区| 常山县| 宝坻区| 阿坝县| 新昌县| 遵义县| 石狮市| 正安县| 宁安市| 黔江区| 错那县| 应用必备| 陇西县| 斗六市| 昌平区| 屏边| 东至县| 屏边| 大丰市| 会宁县| 龙陵县| 锡林郭勒盟| 贡觉县| 郎溪县| 鄂州市| 辽宁省| 怀远县| 个旧市| 通州市| 洛宁县| 周宁县| 黄骅市| 滦南县| 仙桃市| 兰坪| 西丰县| 湄潭县| 济宁市| 临泉县| 新丰县| 钟山县| 平远县| 平江县| 肥城市| 平湖市| 长治县| 宁强县| 新邵县| 孙吴县| 西吉县| 延寿县| 浠水县| 博乐市| 通化市| 秦皇岛市| 二连浩特市| 田林县| 江川县| 南丹县| 忻城县| 垦利县| 呼图壁县| 望城县| 津南区| 荥经县| 惠东县| 临海市| 顺昌县| 合川市| 彭阳县| 喀喇沁旗| 安图县| 政和县| 江陵县| 巴塘县| 湖南省| 龙游县| 栾城县| 海南省| 开鲁县| 翁源县| 青浦区| 安顺市| 刚察县| 高雄市| 高邑县| 澎湖县| 崇信县| 宜宾县| 沂源县| 通道| 湖州市| 左权县| 岳阳市| 巨鹿县| 防城港市| 昌平区| 通榆县| 平南县| 恩平市| 淄博市| 临沭县| 珠海市| 孝昌县| 海南省| 湘乡市| 新巴尔虎左旗| 大化| 昭平县| 高邑县| 岳普湖县| 城市| 广西| 香河县| 海伦市| 鹤岗市| 乌兰察布市| 随州市| 永安市| 襄垣县| 华蓥市| 淳安县| 黄浦区| 神木县| 应城市| 叶城县| 牡丹江市| 江陵县| 尼木县| 镇雄县| 苗栗县| 阜新| 峡江县| 聊城市| 澄江县| 江永县| 福清市| 保德县| 达日县| 柘荣县| 汉阴县| 新昌县| 台江县| 平凉市| 运城市| 普陀区| 慈利县| 天水市| 镶黄旗| 五原县| 论坛| 赤壁市| 开鲁县| 富宁县| 东阳市| 西吉县| 萍乡市| 大厂| 吉隆县| 大荔县| 青州市| 雅江县| 民勤县| 曲麻莱县| 茂名市| 湖北省| 建始县| 宜阳县| 阿瓦提县| 大邑县| 绥化市| 子长县| 启东市| 兴义市| 沙河市| 海盐县| 娄底市| 克拉玛依市| 章丘市| 盘锦市| 梨树县| 墨江| 凤阳县| 普兰县| 江津市| 葫芦岛市| 措美县| 万安县| 景谷| 大安市| 阿克| 陆河县| 黄陵县| 酒泉市| 临汾市| 石景山区| 庆安县| 永城市| 宁化县| 中牟县| 陈巴尔虎旗| 东台市| 易门县| 万荣县| 荆州市| 聂荣县| 黑河市| 施秉县| 巴青县| 乐都县| 建平县| 布尔津县| 大邑县| 金门县| 杨浦区| 阜康市| 德州市| 海淀区| 静安区| 阳山县| 南开区| 滦平县| 文安县| 盘锦市| 休宁县| 南岸区| 武胜县| 遂溪县| 铜梁县| 方城县| 南开区| 南川市| 饶平县| 永年县| 固始县| 高尔夫| 鱼台县| 弥勒县| 沧州市| 呼伦贝尔市| 东城区| 塘沽区| 临城县| 若羌县| 普定县| 博白县| 肇东市| 大荔县| 十堰市| 临潭县| 谷城县| 水富县| 嘉黎县| 定州市| 吉水县| 古丈县| 克拉玛依市| 密山市| 来安县| 温州市| 芮城县| 九龙城区| 哈巴河县| 广水市| 榆社县| 开阳县| 汽车| 友谊县| 迭部县| 丰县| 敦化市| 桂平市| 永仁县| 浑源县| 井冈山市| 盱眙县| 临汾市| 察雅县| 弋阳县| 新河县| 百色市| 葫芦岛市| 凯里市| 拜泉县| 惠东县| 呈贡县| 江源县| 郎溪县| 宜城市| 北海市| 平武县| 瑞金市| 治县。| 邵武市| 板桥市| 普宁市| 怀宁县| 房产| 沁阳市| 秦安县| 嘉鱼县| 鹤庆县| 兴隆县| 龙海市| 茶陵县| 丹巴县| 台北县| 台南市| 中西区| 六盘水市| 九寨沟县| 岳西县| 佛教| 毕节市| 万年县| 报价| 和林格尔县| 镇安县| 东宁县| 平邑县| 黄龙县| 泸西县| 封开县| 孝感市| 万源市| 盐亭县| 衡阳县| 连城县| 屏东市| 定安县| 湖南省| 安图县| 甘孜县| 夏邑县| 施甸县| 瓦房店市| 淄博市| 溆浦县| 丰原市| 化隆| 余江县| 三河市| 巧家县| 临沭县| 石棉县| 孙吴县| 安西县| 东明县| 洛川县| 泰州市| 芦山县| 刚察县| 永平县| 峨眉山市| 荔波县| 班戈县| 会东县| 南阳市| 无为县| 清河县| 紫金县| 二连浩特市| 图木舒克市| 育儿| 县级市| 长治市| 克什克腾旗| 西宁市| 乐亭县| 海门市| 菏泽市| 阿拉善盟| 巴彦淖尔市| 开鲁县| 泾阳县| 凌海市| 扎囊县| 汾西县| 高州市| 甘肃省| 安阳县| 九龙坡区| 砚山县| http://wap.gz1980creditc.fun http://www.jvz1j2r5o.fun http://www.bo2020figures.fun http://www.yqo4j5rl7v.fun http://www.gz1980charc.fun http://www.bo2020acts.fun http://wap.bo2020ranges.fun http://wap.yqo3j9rl4v.fun http://www.gz1980trainc.fun http://www.bo2020briefs.fun http://wap.bo2020doubts.fun http://m.yqo7j8rl0v.fun http://www.gz1980guessc.fun http://wap.gz1980zousec.fun http://m.bo2020parallels.fun http://www.yqo9j5rl8v.fun http://m.jvz1j1r7o.fun http://m.gz1980slidec.fun http://www.bo2020tests.fun http://wap.bo2020weds.fun http://m.yqo6j0rl5v.fun http://www.gz1980birthc.fun http://wap.gz1980courtc.fun http://m.bo2020displays.fun http://www.yqo3j5rl9v.fun