接口测试(9)

 
本来的打算是翻新完8之后吧,后期就无在更新了,最近修flask后,手而想付出个阳台吧,吧我之前写的框架让使用上,形成一个简单易行的接口测试化平台吧,–IAPTest 

1 创建并运行第一个App

本人让他起名,有无发出感觉异常不可理喻啊,其实撤这么多无使来点用的,其实开这个平台吗,更多之凡针对性flask学习的一个运用吧。当时协调想想了相同下午,其实呢不明了大家想要的且是呀则的,所以呢,就从头举行了下的宏图。

1.1 问题

使用Xcode创建一个App项目,该应用实现效益于界面上出示Hello
World标签,在模拟器中之运行结果而图-1所著:

图片 1

图-1

图片 2

1.2 方案

解析图-1,首先采取Xcode创建一个Single
ViewApplicaton应用,起名为MyFirstApp,如图-2所展示:

图片 3

图-2

下一场去Xcode的导航栏里单独保留TRAppDelegate.h文件与TRAppDelageat.m文件,其他代码文件、storyboard文件及xib文件去,如图-3所出示:

图片 4

图-3

下一场选择TRAppDelegate.h文件,右边的代码编辑区可见TRAppDelegate继承到UIResponder类,并遵守UIApplicationDelegate协议,并且有一个UIWindow类型的性质window,即该次的主窗口视图,代码如下所示:

 

  1. #import<UIKit/UIKit.h>
  2. @interfaceTRAppDelegate
    : UIResponder<UIApplicationDelegate>
  3. @property (strong, nonatomic) UIWindow *window;
  4. @end

选TRAppDelegate.m文件,右边的代码编辑区可见如下所示代码的章程,该办法是UIApplicationDelegate协议里的一个道,是App应用成启动时调用的法,此道也顺序的进口,因此用拿页面所著的始末代码写以这方法外。

    • (BOOL)application:(UIApplication *)application
      didFinishLaunchingWithOptions:(NSDictionary
      *)launchOptions {
  1. }

大题上,第一本的demo版本的求就是是这样的,因为这边没设想任何太多,
那么接下去就是来开始选择了,我选的是flask 框架,前端呢
,我用底是bootstarp框架,

1.3 步骤

贯彻此案例需要遵循如下步骤进行。

步骤同:创建window对象,即应用主窗口对象

先是创建一个跟屏幕大小一样的window对象,并被TRAppDelegate类的window属性指于该window对象,并以window的背景颜色设置也白,代码如下所示:

  1. //创建window对象
  2. //frame是因此来代表window原点坐标和宽高的属性,[[UIScreenmainScreen]
    bounds]用来取屏幕的大大小小的,并以取到的值赋给window的frame属性
  3. self.window=[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]
    bounds]];
  4. //设置window对象的背景颜色
  5. //backgroundColor是window用于表示背景颜色的性能,将拖欠属性之值设置也白色
  6. self.window.backgroundColor
    = [UIColorwhiteColor];

步骤二:创建标签UILabel对象

UILabel类是签控件,常用于展示各种文字消息,创建一个UILabel类的靶子,通过UILabel的text属性和frame属性的价值来安装显示的文字信息与标签的职位大小,并将拖欠标签对象上加至应用程序的主窗口中,代码如下所示:

 

  1. //创建一个标签对象
  2. UILabel *label = [[UILabelalloc]init];
  3. //设置标签的文字信息,label对象的text属性用于记录所欲出示的文
  4. label.text = @”Hello world.”;
  5. //设置label的岗位及大小,label的frame属性用于记录相对于父视图的本来点坐标位置与宽高
  6. CGRect frame = {50, 100, 100, 30};
  7. label.frame = frame;
  8. //将标签添加到主窗口界面
  9. [self.windowaddSubview:label];

手续三:将window对象设置为主窗口并展示

用window对象设置为主窗口并显示出,只有成为主窗口才会与用户交互。代码如下所示:

 

  1. //让window对象成主窗口并显示出
  2. [self.windowmakeKeyAndVisible];

这就是说连下去,我是如果本着自己之数据库进行统筹。这里要提取的是自个儿本着权力的宏图呢,我重新多的是选了一个较为简单的主意,我错过用一个字段去开展权力控制,我用level字段,
0就代表本身之用户是普通用户,1虽是管理员用户,这里多地方的删减都召开了组织者及非管理员的分别,管理员可以本着所有的开展删除,但是日常管理是匪克的,
用户管理界面只能管理员去运作这个。

1.4 完整代码

照案例之共同体代码如下所示:

 

  1. #import<UIKit/UIKit.h>
  2. @interfaceTRAppDelegate
    : UIResponder<UIApplicationDelegate>
  3. @property (strong, nonatomic) UIWindow *window;
  4. @end
    1. #import “TRAppDelegate.h”
  5. @implementationTRAppDelegate
  6. //程序真的的入口
    • (BOOL)application:(UIApplication*)application
      didFinishLaunchingWithOptions:(NSDictionary
      *)launchOptions
  7. {
  8. //创建window对象
  9. self.window = [[UIWindowalloc]
    initWithFrame:[[UIScreenmainScreen] bounds]];
  10. //设置window对象的背景颜色
  11. self.window.backgroundColor
    = [UIColorwhiteColor];
    1. //向window对象中加以一个标签对象
  12. UILabel *label = [[UILabelalloc]init];
  13. label.text = @”Hello world.”;
  14. CGRect frame = {50, 100, 100, 30};
  15. label.frame = frame;
  16. [self.windowaddSubview:label];
    1. //让window对象出示出来
  17. [self.windowmakeKeyAndVisible];
    1. return YES
  18. }
  19. @end

脚为下我数据库方面的代码有。

2 创建有视图和控制器的App,并加入Label做子视图

class User(db.Model):
    __tablename__='users'
    id=db.Column(db.Integer(),primary_key=True,autoincrement=True)
    username=db.Column(db.String(63),unique=True)
    password=db.Column(db.String(252))
    user_email=db.Column(db.String(64),unique=True)
    status=db.Column(db.Integer(),default=0)
    level=db.Column(db.Integer(),default=0)
    phone = db.relationship('TestResult', backref='users', lazy='dynamic')
    def __repr__(self):
        return  self.username
    def set_password(self,password):
        self.password=generate_password_hash(password)
    def check_password(self,password):
        return  check_password_hash(self.password,password)
class Interface(db.Model):
    __tablename__='interfaces'
    id=db.Column(db.Integer(),primary_key=True,autoincrement=True)
    project_name=db.Column(db.String(252))
    models_name=db.Column(db.String(252))
    Interface_name=db.Column(db.String(252))
    Interface_url=db.Column(db.String(252))
    Interface_meth= db.Column(db.String(252),default='GET')
    Interface_par=db.Column(db.String(252))
    Interface_back=db.Column(db.String(252))
    Interface_user_id=db.Column(db.Integer(),db.ForeignKey('users.id'))
    def __repr__(self):
        return  self.Interface_name
class InterfaceTest(db.Model):
    __tablename__='interfacetests'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    project=db.Column(db.String(252))
    model=db.Column(db.String(252))
    Interface_name= db.Column(db.String(252))
    Interface_url = db.Column(db.String(252))
    Interface_meth = db.Column(db.String(252))
    Interface_pase = db.Column(db.String(252))
    Interface_assert=db.Column(db.String(252))
    Interface_user_id = db.Column(db.Integer(), db.ForeignKey('users.id'))
    def __repr__(self):
        return  self.yongli_name
class TestResult(db.Model):
    __tablename__='tstresults'
    id=db.Column(db.Integer(),primary_key=True,autoincrement=True)
    Test_user_id=db.Column(db.Integer(),db.ForeignKey('users.id'))
    test_num=db.Column(db.Integer())
    pass_num=db.Column(db.Integer())
    fail_num = db.Column(db.Integer())
    skip_num=db.Column(db.Integer())
    test_time=db.Column(db.DateTime(),default=datetime.datetime.now())
    hour_time=db.Column(db.Integer())
    test_rep=db.Column(db.String(252))
    test_log=db.Column(db.String(252))
    def __repr__(self):
        return  self.id

2.1 问题

于事实上付出中屡见不鲜不会见下上述的点子写代码,因为以上措施只能促成非常简单的、只发生一个界面的采用,然而事实上的开发被的施用还是要差不多界面进行切换,以上代码是无力回天实现的,因此我们得采取视图和视图控制器,通常window里面显示的且是一整张底视图,不会见用单个控件(例如UILabel)放上window里面显示,进入以展示的第一个视图称为根视图,视图控制器则是故来决定视图显示的情,通常视图控制器和视图都是匹配来采取的。

  这里的代码呢,我虽不一一赘述,
接口,接口测试用例,接口执行结果,都是和用户表一对多之涉嫌,有矣数据表,我们即便得去创造我们的数据库了,在创造的当儿,我们还欲加以一个配置文件,这里存放着部分数据库的着力配置相关的。

2.2 方案

第一和第一个案例一样采取Xcode创建一个Single
ViewApplicaton应用,并去其他文件,只保留TRAppDelegate.h,和TRAppDelegate.m文件。

其次,点击右键可见如图-4所显示窗口,选择New
File创建一个初的TRMyFirstViewController类,该类继承到UIViewController,如图-5所著:

图片 5

图-4

图片 6

图-5

挑选TRMyFirstViewController.m文件,右边的代码编辑区可见如下所示方法,其中viewDidLoad在视图页面都成加载到外存中时于调用一坏,通常在是措施被计划界面的起显示,因此需要以直达同案例被页面所展示的情节代码写于斯方外,但得注意加载当前视图显示内容前面待先由父类加载视图:

    • (void)viewDidLoad {
  1. [superviewDidLoad];
  2. }

说到底选TRAppdelegate.m文件,导入TRMyFirstViewController类的条文件,在didFinishLaunchingWithOptions方法中,创建一个TRMyFirstViewController类的靶子,作为该应用主窗口window的根视图控制器,代码如下所示:

  1. TRMyFirstViewController *myFirstViewController
    = [[TRMyFirstViewControlleralloc]init];
  2. self.window.rootViewController
    = myFirstViewController;
SECRET_KEY = 'BaSeQuie'
    basedir=os.path.abspath(os.path.dirname(__file__))
    SQLALCHEMY_DATABASE_URI = "sqlite:///" + os.path.join(basedir, "data.sqlite")
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
    SQLALCHEMY_TRACK_MODIFICATIONS=False
    CSRF_ENABLED = True

2.3 步骤

贯彻此案例需要遵循如下步骤进行。

步骤一样:创建标签UILabel对象

于viewDidload方法中创建一个UILabel对象,同齐一个案例一样装其出示的字消息、位置大小及背景颜色,并拿UILabel对象上加到当前视图中,代码如下所示:

 

    • (void)viewDidLoad
  1. {
  2. [superviewDidLoad];
  3. //1.
    创造一个UILabel对象
  4. UILabel *label = [[UILabelalloc]init];
  5. //2. 安相关属性
  6. label.text = @”Hello World.”;
  7. label.frame = CGRectMake(50, 60, 200, 30);
  8. label.backgroundColor = [UIColorgreenColor];
  9. //3.
    将对象参加到目前视图中
  10. [self.viewaddSubview:label];
  11. }

手续二:创建主窗口window的根视图控制器对象

每当TRAppdelegate.m文件的didFinishLaunchingWithOptions程序入口计中,创建一个TRMyFirstViewController类的靶子,作为该应用主窗口window的根视图控制器,代码如下所示:

 

    • (BOOL)application:(UIApplication *)application
      didFinishLaunchingWithOptions:(NSDictionary
      *)launchOptions
  1. {
  2. self.window = [[UIWindowalloc]
    initWithFrame:[[UIScreenmainScreen] bounds]];
  3. self.window.backgroundColor
    = [UIColorwhiteColor];
  4. //创建根视图控制器对象
  5. TRMyFirstViewController *myFirstViewController
    = [[TRMyFirstViewControlleralloc]init];
  6. self.window.rootViewController
    = myFirstViewController;
  7. [self.windowmakeKeyAndVisible];
  8. return YES;
  9. }

  这样咱们就算可去特别成我们的数据库, 

2.4 完整代码

本案例中,TRMyFirstViewController.m文件被之完全代码如下所示:

 

  1. #import “TRMyFirstViewController.h”
    1. @implementationTRMyFirstViewController
  2. //当本视图控制器被成功加载时自动调用一浅
    • (void)viewDidLoad
  3. {
  4. [superviewDidLoad];
    1. //1. 创建对象
  5. UILabel *label = [[UILabelalloc]init];
  6. //2. 设置相关属性
  7. label.text = @”Hello World.”;
  8. label.frame = CGRectMake(50, 60, 200, 30);
  9. label.backgroundColor = [UIColorgreenColor];
  10. //3.
    拿对象参加到父视图中
  11. [self.viewaddSubview:label];
    1. }
  12. @end 

TRAppDelegate.m文件中的一体化代码如下所示:

 

  1. #import “TRAppDelegate.h”
  2. #import “TRMyFirstViewController.h”
    1. @implementationTRAppDelegate
      • (BOOL)application:(UIApplication *)application
        didFinishLaunchingWithOptions:(NSDictionary
        *)launchOptions
  3. {
  4. self.window = [[UIWindowalloc]
    initWithFrame:[[UIScreenmainScreen] bounds]];
  5. self.window.backgroundColor
    = [UIColorwhiteColor];
    1.      //创建根视图控制器对象
  6. TRMyFirstViewController *myFirstViewController
    = [[TRMyFirstViewControlleralloc]init];
  7. self.window.rootViewController
    = myFirstViewController;
    1. [self.windowmakeKeyAndVisible];
  8. return YES;
  9. }
  10. @end 

界面来吗就是是前段界面的编纂,和后端处理函数的编纂,这里为,我就算无一样叙述了,这里呢
给大家下面的几乎单地方的代码有,展示下,主要是上传和下载就同片。

3 在App的视图中加入按钮子视图

重要是测试日志的下载。

3.1 问题

创办一个按钮(UIButton类),将按钮上加到界面被,给按钮上加点击事件,用来改一个Label的来得内容,如图-6和图-7所出示:

图片 7

图-6

图片 8

图-7

@app.route('/load/<string:filename>',methods=['GET'])
def load(filename):
    basedir = os.path.abspath(os.path.dirname(__file__))
    file_dir=os.path.join(basedir,'upload')
    response=make_response(send_from_directory(file_dir,filename,as_attachment=True))
    return response

3.2 方案

首先跟亚只案例一样采用Xcode创建一个Single
View
Application,保留TRAppDelegate类,并创办好TRViewController视图控制器类,完成TRAppDelegate.m文件被的代码。

下一场,给界面添加按钮和标签,代码写以TRViewController.m文件里之viewDidLoad方法中。

末尾吃按钮上加点击事件,修改标签中的来得内容。

 

3.3 步骤

兑现此案例需要按照如下步骤进行。

手续一样:创建按钮button对象,并安装相关属性

应用工厂方法创建一个UIButton类的按钮对象button,并开展button的号性能设置,添加到父视图中。代码如下所示:

 

  1. //1.
    创建UIButton对象
  2.     UIButton *button = [UIButtonbuttonWithType:UIButtonTypeSystem];
  3. //2.
    装button的各项性能
  4. [buttonsetTitle:@”OK” forState:UIControlStateNormal];
  5. button.frame = CGRectMake(20, 40, 280, 40);
  6. button.backgroundColor = [UIColorlightGrayColor];
  7. //3. 加盟到父视图
  8. [self.viewaddSubview:button];

手续二:创建标签label对象,并安装相关属性

开创一个UILabel类的标签对象label,并展开label的个性能设置,添加到父视图中,这里的label对象急需在全路TRViewController类中采取,因此要安装也TRViewController类的性能。代码如下所示:

 

  1. @interfaceTRViewController ()
  2. @property (strong, nonatomic) UILabel *label;
  3. @end

始建label对象同总体性设置的代码写在viewDidLoad方法被,代码如下所示:

 

  1. UILabel *label = [[UILabelalloc]init];
  2. self.label = label;
  3. label.text = @”要修改的情”;
  4. label.frame = CGRectMake(50, 160, 280, 30);
  5. label.font = [UIFont systemFontOfSize:30];
  6. [self.viewaddSubview:label];

手续三:给按钮上加点击事件

以addTarget:action:forControlEvents:方法吃按钮上加点击事件。

target:表示目标对象,即当按钮触发了事件不时会见于谁目标发消息,经常会就此self,
表示于当前目标发消息。

action:表示动作,即向target对象发送的信,这里是方法tapButton。

events:表示事件,当接触了按钮对象的某种事件频仍,才往target发action消息,这里用的凡UIControlEventTouchUpInside事件,即当按钮内部点击事件。

代码如下所示:

 

  1. [buttonaddTarget:self
  2. action:@selector(tapButton)
  3. forControlEvents:UIControlEventTouchUpInside];

步骤四:实现方式tapButton

当点击按钮出发按钮事件不时,将索要完成的事情在tapButton方法中实现,在此用就的政工是修改label标签的显得内及,代码如下所示:

    • (void)tapButton
  1. {
  2. self.label.text = @”这是改后底情”;
  3. }

单个用例的履也,我这里没生成测试报告,我吧这主要用一个用例的检查上,

3.4 完整代码

本案例中,TRViewController.m文件被的完全代码如下所示:

 

  1. #import “TRViewController.h”
    1. @interfaceTRViewController ()
  2. @property (strong, nonatomic) UILabel *label;
  3. @end
    1. @implementationTRViewController
    • (void)viewDidLoad
  4. {
  5. [superviewDidLoad];
  6. //1.
    创建button对象
  7.     UIButton *button = [UIButtonbuttonWithType:UIButtonTypeSystem];
  8. //2.
    装button的各性能
  9. [buttonsetTitle:@”OK” forState:UIControlStateNormal];
  10. button.frame = CGRectMake(20, 40, 280, 40);
  11. button.backgroundColor = [UIColorlightGrayColor];
  12. //3. 加盟到父视图
  13. [self.viewaddSubview:button];
  14.      //创建label对象
  15. UILabel *label = [[UILabelalloc]init];
  16. self.label = label;
  17. //设置label对象的各项性能
  18. label.text = @”要修改的内容”;
  19. label.frame = CGRectMake(50, 160, 280, 30);
  20. label.font = [UIFont systemFontOfSize:30];
  21. [self.viewaddSubview:label];
  22. //给按钮上加点击事件
  23. [buttonaddTarget:self
  24. action:@selector(tapButton)
  25. forControlEvents:UIControlEventTouchUpInside];
  26. }
      • (void)tapButton
  27. {
  28. self.label.text = @”这是修改后底情节”;
  29. }
  30. @end

大抵单用来吧,我这里用之凡事先自己以8方提到的测试框架,在这里自己开了有的改动,大之莫怎么转,只是对片代码进行优化。

4 创建带有xib的App,并以程序代码中走访xib中创造的靶子

连通下就是为大家展示下力量图

4.1 问题

在实际的支出被除可以为此代码进行界面的操作,还得采用可视化编程工具xib进行界面的构建,以增进开支之效率,本案例使xib构件界面并当代码中访问xib创建的各种控件,点击按钮修改标签中的来得内容。界面效果在模拟器中运作而图-8所著:

图片 9

图-8

1.应声是路之目

4.2 方案

xib以前是一个单独的可视化编程工具,从xcode4开始并到xcode中,方便程序员的运,提高支付效率。

xib的工作规律:将界面及欲之控件(或视图)的创办、属性的装、之间的涉等都保存至一个xml文件被,程序运行时,从xml文件中读取所有的控件(或视图)的布置,自动创建有这些目标,并在到父视图中。

首先创建一个带有xib文件的视图控制器TRViewController,通常是xib文件及及它涉及的视图控制器的名保持一致,这里视图控制器类名字吧TRViewController,则xib文件称吧TRViewController.xib,如图-9所展示。

图片 10

图-9

说不上从右边栏的对象库(图-10)中挑选界面所要的控件,拖放到xib界面中,在右手边栏的检查器(图-11)中得安装控件的各种之属性,本案例中拖放一个Button控件和一个Label控件到xib界面。

图片 11

图-10

图片 12

图-11

下一场在TRAppDelegate.m文件中创造TRViewController对象时,使用初始化方法initWithNibName:,该方法会从xib文件创建TRViewController对象,这里NibName参数就是xib文件之名,代码如下所示:

  1. TRViewController *vc = [[TRViewControlleralloc]initWithNibName:@”TRViewController” bundle:nil];

末段将xib中拖放的控件和代码关联,通过代码访问xib创建的label和button。

图片 13

4.3 步骤

心想事成此案例需要按如下步骤进行。

步骤一:创建xib文件

首先与第一只案例一样用Xcode创建一个Single
View
Applicaton应用,并删除其他文件,只保留TRAppDelegate.h,和TRAppDelegate.m文件。

开创TRViewController类文件,这次在创建视图控制器时,需要以Also
create XIB
file前之选框上从上引起,表示在创立TRViewController对象的同时创造与的并行关联的xib文件,如图-12所出示。

图片 14

图-12

创立生成的xib文件要图-13所展示:

图片 15

图-13

步骤二:将Button拖放到xib界面中

自目标库中精选Button控件拖放到xib界面中,在右边栏的检查器中装置Button控件的title属性,如图-14和图-15所著:

图片 16

图-14

图片 17

图-15

步骤三:将Label拖放到xib界面中

于目标库中挑选Label控件拖放到xib界面中,在右边边栏的检查器中装置Label控件的text属性,如图-16和图-17所著:

图片 18

图-16

图片 19

图-17

最后得的xib界面如图-18所显示:

图片 20

图-18

步骤四:将xib中之Label与代码关联

倘以程序代码中做客xib创建的靶子,需要使用连接输出口(IBOutlet)。IBOutlet是同一种植特性,这种属性指向了xib中之一个靶。

先用xib中之Label对象关联成TRViewController类的民用属性,点击Xcode工具栏右上比的扶持编辑器按钮,打开Xcode的扶植编辑器,辅助编辑界面显示的是TRViewController.m文件,如图-19所展示:

图片 21

图-19

选中xib中之Label,按停control键,将Label拖拽到TRViewController.m文件中之类似扩展中,释放鼠标,会弹有要图-20所出示之窗口:

图片 22

图-20

在弹来窗口里之Connection栏中精选Outlet,将输出口命名也myLabel,如图-21所出示:

图片 23

图-21

点击connect按钮,在近似扩展里会自动生成一行代码,并且这个代码前会见油然而生一个虔诚的周,表示xib中Label对象都涉嫌成功,如果非涉嫌成功会晤显示一个空心的环,如图-22所出示:

图片 24

图-22

步骤五:给xib中的Button添加点击事件

被xib中之Button添加点击事件,需要使用动作IBAction。IBAction是一个术,这个办法连接到了xib中的一个控件的某事件及。当用户触发了这个控件的此事件频仍,就见面调用此道。

和齐同步一种打开Xcode的辅编辑器,辅助编辑界面显示的凡TRViewController.m文件,选择xib中的button对象,按停control键,将Button拖拽到TRViewController.m文件被,释放鼠标,会弹来而图-23所展示之窗口:

图片 25

图-23

于弹来窗口里以动作命名也tapAction,type选择啊UIButton,arguments选为none,表示未带参数的主意,如图-24所出示:

图片 26

图-24

点击connect按钮,TRViewController.m文件中生成如图-25中的法,并且是方前见面油然而生一个真心的旋,表示xib中Button对象点击事件添加成功,如果非涉嫌成功会晤显得一个空心的圈子,如图-25所著:

图片 27

图-25

最后用这办法实现,代码如下所示:

 

    • (IBAction)tapButton
  1. {
  2. self.myLabel.text = @”哈哈,我修改成功啦”;
  3. }

图片 28

4.4 完整代码

此案例,TRAppDelegate.m中之圆代码如下所示:

 

  1. #import “TRAppDelegate.h”
  2. #import “TRViewController.h”
    1. @implementationTRAppDelegate
      • (BOOL)application:(UIApplication *)application
        didFinishLaunchingWithOptions:(NSDictionary
        *)launchOptions
  3. {
  4. self.window = [[UIWindowalloc]
    initWithFrame:[[UIScreenmainScreen] bounds]];
  5. // Override point for
    customization after application launch.
  6. self.window.backgroundColor
    = [UIColorwhiteColor];
  7. TRViewController *vc = [[TRViewControlleralloc]initWithNibName:@”TRViewController” bundle:nil];
  8. self.window.rootViewController
    = vc;
    1. [self.windowmakeKeyAndVisible];
  9. return YES;
  10. }
  11. @end 

该案例,TRViewController.m中之共同体代码如下所示:

 

  1. #import “TRViewController.h”
    1. @interfaceTRViewController ()
    1. @property (weak, nonatomic) IBOutletUILabel *myLabel;
    1. @end
    1. @implementationTRViewController
      • (void)viewDidLoad
  2. {
  3. [superviewDidLoad];
    1. }
    • (IBAction)tapButton
  4. {
  5. self.myLabel.text = @”哈哈,我修改成功啦”;
  6. }
    1. @end

     

图片 29图片 30图片 31图片 32图片 33

 

 

交此处吧,我的核心的测试框架就已搞定了。前前后晚合计约花了本人三单到的日吧,第一只demo版本就这样横空出世了。

自身选择安排之是阿里云,

http://60.205.187.178:89      

http://www.lileilei.online:89/

通过上面的地点可以拜到。

此星期京底天气还算晴朗,天也未暖,写起来代码也是六六底。

 

来问号可加以我qq:952943386还是我之qq群194704520

想大家一道冲菜鸟飞至还胜似

发生钱的为堪吃自己拍下。

 

 

 

此外我提供vip指导,python自动化,python学习地方,python做测试出方面,我还见面提供点,vip终身有效,现价1500,联系qq:952943386,稍后会更新qq群,喜欢的朋友可以来,本人也是于一个休知底吗是python到现行亦可举行东西,从15底2k交17底10k+都是辛酸泪,可以与大家一起共勉,提供思路,能够为你运动之复远,我哉是自白纸一张一步步走来,如果您是初毕业的生是呢可您,可以吃你点,但是自能够举行的即使是牵动您,但是我不是培训班,没有供就业之火候,我单见面在起空子的时光让你推荐,学无止境,此时或我不得不让君有测试,提供职业指导,我也许以后会带为您又多。

 

我是一个大专生,也是一个口奋斗到今天。

 

图片 34

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图