金沙国际官网_金沙国际平台登录

因为这个金沙国际官网_金沙国际平台登录网站与很多的大型澳门赌场都有合作,金沙国际官网_金沙国际平台登录尽职尽责,高效执行,保持好奇心,不断学习,追求卓越,点击进入金沙国际官网_金沙国际平台登录马上体验吧,所以现在也正式地开始了营业。

您的位置:金沙国际官网 > 编程 > 静态构造函数,python装饰器理解

静态构造函数,python装饰器理解

发布时间:2019-11-05 01:53编辑:编程浏览(54)

    1. 静态构造函数用于初步化静态数据,或用来实践仅需进行三遍的特殊操作。

     

    (一) 前言

    2. 静态构造函数既未有访谈修饰符,也未曾子数。

    1.装饰器的功力

    Selenium Grid可以将测验遍及在若干个轮廓或编造机器上,进而实现分布情势或相互格局举办测量试验。

    3. 在开立第叁个实例或援用任石钟山态成员以前,将电动调用静态构造函数来初阶化类。

    在不更改棉被服装饰对象的源代码以至调用形式的前提下为被点缀对象增加新职能

    这些链接是合法的连锁注解。

    4. 不可能直接调用静态构造函数。

    原则:

    https://github.com/SeleniumHQ/selenium/wiki/Grid2

    5. 只要静态构造函数引发那叁个,运转时将不会再也调用该构造函数,並且在程序运维所在的应用程序域的生存期内,类型将保持未先河化。

    1.不修改被装饰对象的源代码
    2.不修改被装饰对象的调用方式
    

    (二) Selenium Grid

        class Program
        {
            static void Main(string[] args)
            {
                // 在bus1实例化后调用静态构造函数,只调用一次
                Bus bus1 = new Bus(71);
                Bus bus2 = new Bus(72);
                bus1.Drive();
                System.Threading.Thread.Sleep(3600);
                bus2.Drive();
                Console.WriteLine("Press any key to exit.");
                Console.ReadKey();
            }
        }
        public class Bus
        {
            protected static readonly DateTime globalStartTime;
            protected int RouteNumber { get; set; }
            static Bus ()
            {
                globalStartTime = DateTime.Now;
                Console.WriteLine("static constructor sets global start time to {0}", globalStartTime.ToLongTimeString());
            }
            public Bus (int routeNum)
            {
                RouteNumber = routeNum;
                Console.WriteLine("Bus #{0} is created", RouteNumber);
            }
            public void Drive()
            {
                TimeSpan elapsedTime = DateTime.Now - globalStartTime;
                Console.WriteLine("{0} is starting its route {1:N2} minutes after global start time {2}", this.RouteNumber, elapsedTime.TotalMilliseconds, globalStartTime.ToLongTimeString());
            }
        }
    

    目标:

    大约正是那几个意思(壹当中坚节点(HUB卡塔 尔(英语:State of Qatar),N个子节点(NODE,操作系统+浏览器卡塔 尔(英语:State of Qatar)卡塔尔国

      

    为被装饰对象添加新功能
    

     图片 1

    2.装饰器的定义和利用

    图片 2

    来看上边包车型大巴代码:

     

    图片 3

    (三) 境况计划

    index函数的功用是程序在自由睡眠1到5秒以后,打字与印刷一句话

    1. 前提:已经布置相应的 JDK境况(LINUX自带JDK情形(小编装的LINUX自带的是1.8),WINDOWS要本人布署JDK情况(小编装的是1.9)卡塔尔

    2. 下载 Selenium Standalone Server

    现行反革命想为index函数增添叁个新作用:总括index函数的运维时刻,该如何是好呢??

     图片 4

    改善index函数如下:

    1. 启动Selenium Grid server(hub)

    图片 5

    Selenium Grid server(hub,作为主导节点的微电脑),切换来Selenium Standalone所在的目录(直接在Selenium Standalone所在的文书夹shift+鼠标右键,选取在那处张开命令窗口,也许CD 路径卡塔尔,然后实践下边包车型地铁命令

    运作程序,实施结果如下:

    java -jar selenium-server-standalone-<version>.jar -role hub
    
    例如:java -jar selenium-server-standalone-3.9.1.jar -role hub
    
    可以加 -port 指定端口号,默认4444
    
    http://localhost:4444/grid/console 启动后用这个地址访问
    
    welcome to index page
    cost time: 2.000999927520752
    

    图片 6

    能够观察,为index函数加多新职能确实达成了,可是却违背了开放密封原则。

    图片 7

    在切合开放密封原则的前提下,假如想为index函数增多新功能,那个时候快要选取装饰器了

    1. 配置node(节点)

    改进代码

    (1卡塔尔国   Node(也正是此外Computer或设想机景况,也足以向来将hub所在的那台微微处理机加多为node),在系统变量path中增加相应的驱动文件的不二秘诀。(比方:将chromedriver所在的门路增添到path中,以前已经说过火狐、IE、Google浏览器遭逢的配备卡塔 尔(阿拉伯语:قطر‎

    图片 8

    (2卡塔尔   实施上边包车型客车指令

    运行程序,查看实践结果

    java -jar selenium-server-standalone-3.9.1.jar -role node -browser "browserName=firefox,version=62,maxSession=3,platform=WINDOWS" -hub -port 5555

    welcome to index page
    run time: 1.0
    

    说明:

    从程序实施结果能够见到,index函数的周转时刻已经被总结出来了

    browserName:浏览器名称

    而是查看源码能够通晓,index函数的源码确实尚未被涂改,可是index的调用方式被涂改了

    Version:浏览器版本

    况且还有一个主题材料即便,timmer这一个装饰器只可以被用来装点index这么些函数,假若之后想计算别的函数的周转时刻,又要再一次定义别的装饰器,那样也太不活络了。

    maxSession:援助并发浏览器实例的数目

    改过下边包车型大巴代码

    platform:操作系统

    图片 9

    -hub:http:// (Selenium Grid server(hub卡塔 尔(阿拉伯语:قطر‎的IP)+运维时设置的端口号/ grid/register

    运作程序,查看程序实施结果

    -port :钦点端口号

    welcome to index page
    run time: 4.0
    

    图片 10

    能够看看,index函数的源代码未有被涂改,index函数的调用情势也未有变动,然而仍然是index函数加多了总计时间的功用,这里运用的便是装饰器了。

    (3卡塔尔国   要在近似Computer(或虚构机卡塔尔国增添其它节点,再张开四个CMD窗口,运行方面包车型大巴命令就能够了(记得改善浏览器音讯卡塔 尔(英语:State of Qatar),记得同黄金年代Computer上端口号别重复。

    来深入分析下方面代码的试行流程:

    (四) 环境布署好后如下图所示(笔者Computer开着叁个linux的虚拟机太卡了,有一些浪费时间的认为,不想弄了,不过相应和windows上的差距不会太大,有处境的可以试下加多path变量、在极限实施有关命令增添节点卡塔 尔(阿拉伯语:قطر‎

    图片 11

     图片 12

    本文由金沙国际官网发布于编程,转载请注明出处:静态构造函数,python装饰器理解

    关键词:

上一篇:左外连接,在下方显示图片

下一篇:没有了