首页
学习
活动
专区
圈层
工具
发布

测试开发进阶(十六)

后续部分

到底什么是测试开发

  • 一定不仅是测试

  1. 非常敏锐的开发视角
  2. 极其强大的开发能力
  • 一定不是开发

  1. 无需严谨的校验
  2. 无需完美的用户体验

测试开发平台是产品吗

对于一个不是产品的东西,我们测开(或者领导)对它的要求是什么?

  • 效率

两周内开发出一个平台

  • 至少能实现基本自动化测试
  • 无需花里胡哨的功能
  • 无需严谨的校验
  • 能用轮子的尽量用轮子
  • 能少写的一段代码就少写一段

测试开发的价值,理念

  • 看得懂大神写的代码,也能从中获取启发
  • 能改大神的代码,去除糟粕,取其精华

测试开发课程到底学什么?

  • 编程思维重于一切
  • 轮子
  • 快速开发的理念「敏捷开发」

Vue框架

  • 前端三大主流框架之一

Angular.js React.js Vue.js

  • 简单小巧

使用gzip压缩后,只有20kb左右 入门容易

  • 自动进行响应式更新

只需关注前端业务逻辑,无需操作DOM

  • 高级特性

解耦视图和数据 可复用组建 前端路由 状态管理 虚拟DOM

MVVM模式

  • 类似于MVC(Java)和Django(MVT)

M

  • 模型
  • 从后端获取的数据

V

  • 视图
  • 界面展示

VM

  • 视图模型
  • 核心控制

Vue-demo

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>「测试游记」</title>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
    <div id="app">
        {{msg}}
    </div>
    <script>
        let vm = new Vue({
            el:'#app',
            data:{
                msg:'Hello Python'
            }
        })
    </script>
</body>
</html>
代码语言:javascript
复制
<script>
    // Vue实例创建,会控制id为app元素中的所有内容
    // Vue的实例 MVVM中的VM
    let vm = new Vue({
        el:'#app', // 控制的区域
        // data代表数据 -> MVVM中的M
        data:{
            msg:'Hello Python'
        }
    })
</script>
代码语言:javascript
复制
<!--MVVM模式中的V-->
<div id="app">
    {{msg}}
</div>

组件化

  • 模块化

以不同的组件,来划分不同的功能模块

  • 复用
  • 高效
  • 解耦

前端工程化,组件化

安装Node.js:http://nodejs.cn/download/

查看版本

代码语言:javascript
复制
$ node -v
$ npm -v # 相当于python中的pip

使用淘宝npm镜像:http://npm.taobao.org/

代码语言:javascript
复制
$ npm install -g cnpm --registry=https://registry.npm.taobao.org

安装vue-cli脚手架

代码语言:javascript
复制
# 注意Linux或Mac 可能需要使用sudo -i进入管理员模式
$ cnpm install -g @vue/cli
# -g:全局

创建项目

代码语言:javascript
复制
$ vue create 项目名
# 选择default
代码语言:javascript
复制
$ npm run serve # 开启项目

node_modules:系统库

public/:单界面

src :需要压缩的部分

/src/assets:资源(字体,图片等)

/src/components:组件

main.js:相当于一个main函数,最先加载

代码语言:javascript
复制
// 导入Vue.js
import Vue from 'vue'
// 导入App.vue根组件
import App from './App.vue'

Vue.config.productionTip = false

new Vue({
    render: h => h(App), //渲染App根组件
}).$mount('#app')

App.vue:

代码语言:javascript
复制
<!--template用于展示给用户,相当于MVVM中的V-->
<template>
    <div id="app">
        <img alt="Vue logo" src="./assets/logo.png">
        <!--在父组件中给子组件传值-->
        <HelloWorld msg="Welcome to Your Vue.js App"/>
    </div>
</template>
代码语言:javascript
复制
<script>
    import HelloWorld from './components/HelloWorld.vue'

    export default {
        // 定义组件名称
        name: 'app',
        components: { //声明子组件
            HelloWorld
        }
    }
</script>

/src/components/HelloWorld.vue被当作子组件传入

修改 App.vue<HelloWorldmsg="「测试游记」"/>把msg传入

HelloWorld.vue

代码语言:javascript
复制
<!--template用于展示给用户,相当于MVVM中的V-->
<template>
    <div id="app">
        <img alt="Vue logo" src="./assets/logo.png">
        <!--在父组件中给子组件传值-->
        <HelloWorld msg="「测试游记」"/>
    </div>
</template>

修改 HelloWorld.vue中的内容

代码语言:javascript
复制
<template>
    <div class="hello">
        <h1>{{ msg }}</h1>
    </div>
</template>

查看页面

HelloWorld组件里面的msg内容改变的原因:

代码语言:javascript
复制
<script>
    export default {
        name: 'HelloWorld',
        props: { //从父组件获取msg
            msg: String
        }
    }
</script>

创建一个组件

/src/components新建一个 greeting.vue

代码语言:javascript
复制
<template>

</template>

<script>
    export default {
        name: "greeting"
    }
</script>

<style scoped>

</style>

填充

代码语言:javascript
复制
<template>
    <div class="msg">
        插值表达式:
        <p>{{message}}</p>
    </div>
</template>

<script>
    export default {
        name: "greeting",
        // {} -> 对象
        data() {
            return {
                message: 'Hello Python'
            }
        }
    }
</script>

<style scoped>

</style>

App.vue里面声明

代码语言:javascript
复制
<script>
    import HelloWorld from './components/HelloWorld.vue'
    import greeting from './components/greeting.vue'

    export default {
        // 定义组件名称
        name: 'app',
        components: { //声明子组件
            HelloWorld,
            greeting
        }
    }
</script>
代码语言:javascript
复制
import greeting from './components/greeting.vue'
components: { //声明子组件
            HelloWorld,
            greeting
        }

修改颜色

代码语言:javascript
复制
<style scoped>
    .msg p {
        color: red;
    }
</style>
下一篇
举报
领券