基于Python模拟后端的前端测试过程

测试环境:

操作系统:Linux ubantu
编辑器:Emacs
浏览器:Mozilla Firefox 5.0
前端语言:HTML  JS  
后端语言:python3

测试目的:

  本次测试主要是针对于项目中的前端测试,在开发项目中,如果项目分为前后端来开发,拿前端写好页面,转好对应的模板以后,需要去验证是否写的正确,或者说前端传数据是否正确,这样可以提高编写者的学习质量同时还可以降低集成测试的工作成本。

测试要求:
1.测试前端HTML页面改为模板以后是否出错;
2.测试加入JS以后,是否有语法错误;
3.测试通过ajax传输数据时是否是后端需要的值,前端输出;
4.后端输出前端传来的值,测试是否正确。

测试原理:

借用Python代码模拟一个后端,用该模拟后端来测试模板是否修改正确,并且输入与输出的值是否是开发人员需要的,针对与ajax的回执,采用json传输数据,前端传来的值后端print()查看。本次实验通过对一个登录页面的测试来完成报告。

测试步骤:

1.编写好前端代码并完成模板的修改:
 
<div class="container">
            <dl><h2> 用户登录</h2><hr>
            <dt>账号:<input >
 
5.加入js代码测试用户输入的内容是否正确,user_login.js代码如下:
 
function user_login(){
    var _xsrf = $("input[name='_xsrf']").val();
    var user_name = $("#user_name").val();
    var username = check(1, user_name);
    if(username.split('#')[0]=='F'){
        alert(username.split('#')[1]);
    }
    else{
        var user_password = $("#user_password").val();
        var userpass = check(2, user_password);
        if(userpass.split('#')[0]=='F'){
            alert(userpass.split('#')[1]);
        }
        else{
            alert(“输入正确!”);
      }
    }
}
测试截图如下:
 前端测试步骤
 
 前端测试步骤

前端测试步骤
 
上面的截图没有通过ajax,也没有通过后端的测试,下面继续阐述。
6.加入ajax到user_login()中,以及后端的返回值进行测试:
    var xmlhttp;
            if(window.XMLHttpRequest){
                xmlhttp = new XMLHttpRequest();
            }
            else{
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function(){
                if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
                    var json_login = eval("("+ xmlhttp.responseText +")");
                    if(json_login.returnedjson.infostatus == 'T'){
            alert(json_login.returnedjson.infomsg);
                    }
                    else{
                        alert(json_login.returnedjson.infomsg);
                        $("#user_name").val("");
                        $("#user_password").val("");
                        $("#user_name").focus();
                    }
                }
            }
            var user_mess ="user_name=" + encodeURIComponent(user_name) + "&user_password=" + encodeURIComponent(user_password) + "&_xsrf=" + _xsrf;
            xmlhttp.open("post", "/check_login_action", true);
            xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
            xmlhttp.send(user_mess);
 
后端pagetest.py加入测试类代码,其中借用json格式回执:
class Checkloginrpl(tornado.web.RequestHandler):
 
    def post(self):
        user_name = self.get_argument("user_name")
        print(user_name)
        user_password = self.get_argument("user_password")
        print(user_password)
        obj = {
            "returnedjson": {"infostatus": "T", "infomsg": "登录成功"}}
        a = json.dumps(obj)
        self.write(a)
7.刷新页面,测试截图如下:
 前端测试步骤
注:弹出了后端的json数据信息,模拟后端返回的信息是类似的。
8.后端输出看是否拿到数据正确:
输入数据:
 前端测试步骤
终端输出数据:
 前端测试步骤
这样后端拿到值以后就可以判断是否用户输入的和数据库一样,一样则登录成功,不一样则登录失败。

总结:这次测试只是前端测试的冰山一角,还有许许多多的前端测试需要认真的,细心的去发现错误的存在,并且去解决它,只有在这种不断的找错,解决错的过程中才能真正的学到东西。

 

相关文章:

  • 2022-03-09
  • 2022-12-23
  • 2022-02-12
  • 2021-06-14
猜你喜欢
  • 2022-02-13
  • 2021-11-27
  • 2022-12-23
  • 2021-05-24
  • 2022-12-23
  • 2021-11-18
  • 2021-09-17
相关资源
相似解决方案