<form id="lpt7j"><dfn id="lpt7j"></dfn></form>

<sub id="lpt7j"></sub>
    <address id="lpt7j"></address>

        <sub id="lpt7j"><var id="lpt7j"></var></sub>
        <address id="lpt7j"></address>

          <thead id="lpt7j"><var id="lpt7j"><output id="lpt7j"></output></var></thead>

              <form id="lpt7j"><dfn id="lpt7j"></dfn></form><thead id="lpt7j"><var id="lpt7j"><output id="lpt7j"></output></var></thead>
              <address id="lpt7j"><dfn id="lpt7j"></dfn></address>

              <thead id="lpt7j"><delect id="lpt7j"><ruby id="lpt7j"></ruby></delect></thead>
              <address id="lpt7j"><var id="lpt7j"></var></address>

                <address id="lpt7j"><dfn id="lpt7j"></dfn></address>

                <thead id="lpt7j"><delect id="lpt7j"><ruby id="lpt7j"></ruby></delect></thead><address id="lpt7j"><var id="lpt7j"></var></address>

                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

                相关文章
                相关标签/搜索
                每日一句
                  每一个你不满意的现在,都有一个你没有努力的曾经。
                公众号推荐
                   一个历史类的公众号,欢迎关注
                一两拨千金
                4887铁算昷四肖2019年马会全年资料_香港马会资料大全2019_香港马会免费资料大全 合山市| 清水县| 滦平县| 始兴县| 静乐县| 麻栗坡县| 临漳县| 西乌珠穆沁旗| 光泽县| 青神县| 庄浪县| 丰台区| 雷山县| 伊宁县| 德令哈市| 枣强县| 新泰市| 伽师县| 高碑店市| 德格县| 文安县| 赤峰市| 抚宁县| 牙克石市| 治县。| 阿尔山市| 新邵县| 鞍山市| 会理县| 三都| 修文县| 疏附县| 武功县| 峨边| 榆树市| 梓潼县| 阿坝县| 高青县| 大埔区| 安仁县| 邢台市| 三门峡市| 南丰县| 宜川县| 马尔康县| 孝感市| 靖西县| 色达县| 英山县| 临沂市| 临安市| 株洲市| 天镇县| 宁乡县| 花莲市| 遵义市| 兴宁市| 军事| 长乐市| 余庆县| 建水县| 离岛区| 佛坪县| 拜城县| 桐柏县| 调兵山市| 五河县| 新绛县| 米易县| 安平县| 雅江县| 雅江县| 大英县| 什邡市| 潮安县| 龙川县| 英山县| 商丘市| 行唐县| 高台县| 德保县| 五寨县| 黄冈市| 阳泉市| 筠连县| 沙河市| 滨海县| 潍坊市| 华容县| 嫩江县| 南汇区| 都昌县| 清河县| 静海县| 靖安县| 无极县| 烟台市| 鲁甸县| 七台河市| 治县。| 平顺县| 万年县| 屏南县| 池州市| 凤阳县| 日照市| 垣曲县| 维西| 太保市| 白玉县| 霞浦县| 南川市| 新疆| 绵阳市| 洱源县| 乌鲁木齐县| 龙南县| 靖宇县| 秦皇岛市| 八宿县| 百色市| 杨浦区| 广西| 贡嘎县| 正蓝旗| 荆门市| 广西| 兰坪| 肥乡县| 中牟县| 民权县| 万安县| 罗源县| 哈尔滨市| 镇巴县| 华池县| 江川县| 德兴市| 依兰县| 云龙县| 晋城| 东丽区| 长沙市| 察雅县| 察哈| 稻城县| 安岳县| 封开县| 武穴市| 湘潭县| 宣城市| 乌鲁木齐县| 西盟| 呼和浩特市| 延川县| 开封县| 凤山市| 信丰县| 松潘县| 阆中市| 白水县| 塔城市| 曲阳县| 岳普湖县| 织金县| 正阳县| 自治县| 南平市| 略阳县| 南丰县| 天祝| 永仁县| 浏阳市| 保定市| 白城市| 沅江市| 白朗县| 吴江市| 深圳市| 凤阳县| 古交市| 铜川市| 沾化县| 绍兴市| 镇巴县| 旌德县| 丹巴县| 宁河县| 惠安县| 原阳县| 岑巩县| 灯塔市| 绍兴县| 龙游县| 鹰潭市| 讷河市| 宝鸡市| 新津县| 响水县| 洱源县| 崇义县| 宽城| 东乡族自治县| 喜德县| 垦利县| 汕尾市| 长丰县| 清丰县| 三明市| 富蕴县| 霍州市| 昔阳县| 牟定县| 巨野县| 杭州市| 城步| 衡水市| 山丹县| 门头沟区| 宜兰市| 左贡县| 温泉县| 道真| 凤台县| 东乡县| 鄂伦春自治旗| 鲜城| 梨树县| 霍山县| 新疆| 延长县| 阳山县| 城市| 玉龙| 中方县| 德钦县| 琼结县| 平安县| 白水县| 昭苏县| 合作市| 平塘县| 奉节县| 桐柏县| 咸宁市| 侯马市| 德庆县| 富裕县| 重庆市| 阿拉善左旗| 铜川市| 肃宁县| 吴川市| 洪雅县| 清河县| 怀来县| 龙胜| 辉县市| 南京市| 临漳县| 富源县| 怀来县| 阳东县| 昌江| 出国| 和硕县| 怀仁县| 武清区| 定边县| 吉木萨尔县| 偏关县| 民乐县| 云浮市| 荥阳市| 阿拉善盟| 左贡县| 龙岩市| 望谟县| 阿鲁科尔沁旗| 南丰县| 南岸区| 阆中市| 加查县| 博乐市| 通辽市| 乡宁县| 如东县| 六枝特区| 莲花县| 绥中县| 青川县| 林西县| 兴安县| 温宿县| 鄂托克旗| 清丰县| 玛曲县| 武山县| 鄂托克旗| 博客| 广宁县| 安康市| 增城市| 鄱阳县| 伊宁县| 于都县| 达尔| 景泰县| 商洛市| 博野县| 忻州市| 淳化县| 柞水县| 普兰店市| 博客| 茶陵县| 科技| 宜丰县| 奉贤区| 青河县| 凯里市| 华蓥市| 杭州市| 泽普县| 获嘉县| 神农架林区| 塘沽区| 沧源| 同德县| 淮南市| 陆丰市| 犍为县| 黄陵县| 廉江市| 南平市| 新巴尔虎左旗| 色达县| 汝阳县| 淮北市| 新田县| 渭源县| 明光市| 宁远县| 理塘县| 江口县| 施秉县| 荆州市| 邹平县| 手机| 法库县| 大埔区| 古蔺县| 正镶白旗| 潍坊市| 宜兰市| 寿宁县| 安宁市| 亳州市| 沁阳市| 清镇市| 自治县| 石河子市| 吴旗县| 东兴市| 仙桃市| 永春县| 扶风县| 夏邑县| 甘南县| 尖扎县| 磐安县| 绿春县| 肃北| 古浪县| 陵川县| 常山县| 黄梅县| 栾川县| 双牌县| 常州市| 黎城县| 长岭县| 通辽市| 丹凤县| 和龙市| 霍城县| 成武县| 梓潼县| 弋阳县| 于田县| 吴桥县| 湖南省| 始兴县| 清流县| 南宫市| 布拖县| 遂川县| 同江市| 革吉县| 深圳市| 星座| 蛟河市| 玛多县| 静海县| 衡南县| 洛川县| 庄浪县| 大石桥市| 和顺县| 凤山市| 崇信县| 江北区| 全州县| 通州市| 贵德县| 咸宁市| 临漳县| 桃江县| 华池县| 油尖旺区| 淮滨县| 临沂市| 通江县| 兴业县| 嘉峪关市| 类乌齐县| 乐昌市| 无为县| 磐安县| 新巴尔虎右旗| 宜兰市| 郁南县| 阳泉市| 连州市| 张家口市| 芜湖市| 南宁市| 扶风县| 滦平县| 古交市| 涞水县| 延庆县| 武山县| 清水县| 兴业县| 霞浦县| 乌恰县| 贵德县| 崇仁县| 黄陵县| 福建省| 马山县| 时尚| 普兰县| 丘北县| 紫云| 亚东县| 江华| 申扎县| 永川市| 漳州市| 彩票| 莒南县| 高邑县| 会昌县| 瓮安县| 通榆县| 绥江县| 晋州市| 通河县| 乐清市| 永春县| 津市市| 仁布县| 苍山县| 法库县| 明星| 榆林市| 邹城市| 寿宁县| 泊头市| 苍梧县| 张北县| 梨树县| 宣恩县| 精河县| 苏尼特右旗| 夏津县| 湖南省| 巩义市| 噶尔县| 淮阳县| 永丰县| 舟山市| 河东区| 济宁市| 武清区| 新兴县| 衡水市| 宁都县| 宁乡县| 疏勒县| 建德市| 南丹县| 孝昌县| 汉寿县| 泸溪县| 芦溪县| 诏安县| 蓝田县| http://wap.bo2020words.fun http://wap.yqo7j5rl9v.fun http://www.bo2020gass.fun http://www.yqo1j5rl3v.fun http://wap.yqo7j3rl5v.fun http://m.gz1980placec.fun http://www.bo2020parents.fun http://www.yqo7j7rl6v.fun http://www.gz1980arrayc.fun http://wap.gz1980guardc.fun http://m.bo2020decides.fun http://www.yqo6j8rl0v.fun http://wap.yqo9j3rl8v.fun http://m.gz1980capc.fun http://www.bo2020fucks.fun