1 简介 基于Python,测试框架采用Pytest,API方面采用requests库,UI采用Selenium,目前适配了windows下IE、Chrome,Mac下的Chrome 暂时未适配Firefox以及Linux下的所有浏览器(linux版本太多,有需求的话可以在Issue提出或者自行二次适配),数据库方面采用SQLAlchemy,这个用到的比较少 2 依赖 开发时采用Python3.9,需要以下依赖(MacOS下),Windows上可能有些区别,可以根据报错修改 apipkg==1.5 asgiref==3.3.1 async-lru==1.0.2 attrs==20.3.0 bcrypt==3.2.0 beautifulsoup4==4.9.3 bs4==0.0.1 certifi==2020.12.5 cffi==1.14.4 chardet==4.0.0 click==7
1
python-django实现个人博客,部分功能未实现,有待拓展
2023-01-05 15:41:00 4.22MB 个人博客
1
AE加C#开发实现ArcMap部分功能练习 AE二次开发实现代码
2022-12-27 19:04:05 422KB AE C# ArcMap 例子
1
package com.yd.activity; import com.yd.adapter.ImageAdapter; import com.yd.data.IndentData; import com.yd.data.RefreshData; import com.yd.myindent.R; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.AdapterView; import android.widget.Button; import android.widget.GridView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; public class Indent extends Activity { private Button myboard = null ; // 定义按钮 private TextView mych = null ; private int witch = 0; IndentData data; private GridView gridview =null; private int[] imgids = new int[] {R.drawable.img_01,R.drawable.img_02, R.drawable.img_03, R.drawable.img_04, R.drawable.img_05, R.drawable.img_06, R.drawable.img_07, R.drawable.img_08, R.drawable.img_09,R.drawable.img_10,R.drawable.img_11, R.drawable.img_12, R.drawable.img_13, R.drawable.img_14, R.drawable.img_15}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.gridview=(GridView)super.findViewById(R.id.GridView); this.gridview.setAdapter(new ImageAdapter(this, this.imgids)); this.gridview.setOnItemClickListener(new OnItemClickListenerImpl()); this.myboard = (Button) super.findViewById(R.id.myboard) ; // 取得按钮 this.mych = (TextView) super.findViewById(R.id.mych) ; // 取得文本 this.myboard.setOnClickListener(new OnClickListenerImpl()) ; // 设置事件类 } //视图布局 private class OnItemClickListenerImpl implements OnItemClickListener { public void onItemClick(AdapterView<?> parent, View view, int img, long id) { Indent.this.witch=img; ImageView showImg = new ImageView(Indent.this); showImg.setScaleType(ImageView.ScaleType.CENTER); // 图片居中显示 showImg.setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); showImg.setImageResource(Indent.this.imgids[img]); // 设置显示图片 Dialog dialog = new AlertDialog.Builder(Indent.this) .setIcon(R.drawable.img_m).setTitle("订购") .setView(showImg).setNegativeButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { /* Log.v(" R.drawable.img_01 ", "-------------------" + R.drawable.img_01); Log.v(" R.drawable.img_01 ", "-------------------" + R.drawable.img_02); Log.v(" R.drawable.img_01 ", "-------------------" + R.drawable.img_03); Log.v(" R.drawable.img_01 ", "-------------------" + R.drawable.img_04); */ Log.v(" witch ","-----------"+Indent.this.imgids[Indent.this.witch]); if(IndentData.num!=null) { switch(Indent.this.imgids[Indent.this.witch]){ // 判断操作的菜单ID case R.drawable.img_01: IndentData.bill=IndentData.bill+IndentData.PRICE_01; IndentData.fool_01=IndentData.fool_01+1; Log.v("bill", "-----------"+IndentData.bill); Log.v("bill", "-----------"+IndentData.fool_01); break ; case R.drawable.img_02: IndentData.bill=IndentData.bill+IndentData.PRICE_02; IndentData.fool_02=IndentData.fool_02+1; Log.v("Indent.this.data.getBill()", "-----------"+IndentData.bill); Log.v("Indent.this.data.getFool_02()", "-----------"+IndentData.fool_02); break ; case R.drawable.img_03: IndentData.fool_03=IndentData.fool_03+1; IndentData.bill=IndentData.bill+IndentData.PRICE_03; Log.v("Indent.this.data.getBill()", "-----------"+IndentData.bill); Log.v("Indent.this.data.getFool_03()", "-----------"+IndentData.fool_03); break ; case R.drawable.img_04: IndentData.fool_04=IndentData.fool_04+1; IndentData.bill=IndentData.bill+IndentData.PRICE_04; Log.v("Indent.this.data.getBill()", "-----------"+IndentData.bill); Log.v("Indent.this.data.getFool_04()", "-----------"+IndentData.fool_04); break ; case R.drawable.img_05: IndentData.fool_05=IndentData.fool_05+1; IndentData.bill=IndentData.bill+IndentData.PRICE_05; Log.v("Indent.this.data.getBill()", "-----------"+IndentData.bill); Log.v("Indent.this.data.getFool_05()", "-----------"+IndentData.fool_05); break ; case R.drawable.img_06: IndentData.fool_06=IndentData.fool_06+1; IndentData.bill=IndentData.bill+IndentData.PRICE_06; Log.v("6", "打印"); break ; case R.drawable.img_07: IndentData.fool_07=IndentData.fool_07+1; IndentData.bill=IndentData.bill+IndentData.PRICE_07; Log.v("7", "打印"); break ; case R.drawable.img_08: IndentData.fool_08=IndentData.fool_08+1; IndentData.bill=IndentData.bill+IndentData.PRICE_08; Log.v("8", "打印"); break ; case R.drawable.img_09: IndentData.fool_09=IndentData.fool_09+1; IndentData.bill=IndentData.bill+IndentData.PRICE_09; Log.v("9", "打印"); break ; case R.drawable.img_10: IndentData.fool_10=IndentData.fool_10+1; IndentData.bill=IndentData.bill+IndentData.PRICE_10; Log.v("10", "打印"); break ; case R.drawable.img_11: IndentData.fool_11=IndentData.fool_11+1; IndentData.bill=IndentData.bill+IndentData.PRICE_11; Log.v("10", "打印"); break ; case R.drawable.img_12: IndentData.fool_12=IndentData.fool_12+1; IndentData.bill=IndentData.bill+IndentData.PRICE_12; Log.v("10", "打印"); break ; case R.drawable.img_13: IndentData.fool_13=IndentData.fool_13+1; IndentData.bill=IndentData.bill+IndentData.PRICE_13; Log.v("10", "打印"); break ; case R.drawable.img_14: IndentData.fool_14=IndentData.fool_14+1; IndentData.bill=IndentData.bill+IndentData.PRICE_14; Log.v("10", "打印"); break ; case R.drawable.img_15: IndentData.fool_15=IndentData.fool_15+1; IndentData.bill=IndentData.bill+IndentData.PRICE_15; Log.v("10", "打印"); break ; } } /*try{ if(Indent.this.imgids[Indent.this.witch] == R.drawable.img_01){ Log.v("01", "---------"+R.drawable.img_01); } else { Log.v("02", "---------"+R.drawable.img_02); } }catch(Exception e){ Log.v("02","++++++++++++"+e); }*/ } }).create(); dialog.show() ; } } //菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu selMenu = menu.addSubMenu("查看") ; SubMenu insMenu = menu.addSubMenu("更正") ; super.getMenuInflater().inflate(R.menu.selmenu, selMenu) ; super.getMenuInflater().inflate(R.menu.insmenu, insMenu) ; return true ; } public boolean onOptionsItemSelected(MenuItem item) { Log.v("item.getItemId()", "------------------------"+item.getItemId()); switch(item.getItemId()) { // 判断操作的菜单ID case R.id.item01: Log.v("R.id.item01", "------------------------"+R.id.item01); if(IndentData.num!=null){ Toast.makeText(this, "预览", Toast.LENGTH_LONG).show() ; Intent intent = new Intent(); intent.setClass(Indent.this, LookActivity.class); this.startActivityForResult(intent, 1); }else{ Toast.makeText(this, "座位已经满了欢迎下次光临", Toast.LENGTH_LONG).show() ; } break ; case R.id.item02: Toast.makeText(this, "查看订单情况", Toast.LENGTH_LONG).show() ; Log.v("R.id.item02", "------------------------"+R.id.item02); break ; case R.id.item03: Toast.makeText(this, "取消当前订单", Toast.LENGTH_LONG).show() ; new RefreshData(); Log.v("R.id.item03", "------------------------"+R.id.item03); break ; case R.id.item04: Toast.makeText(this, "保存", Toast.LENGTH_LONG).show() ; Log.v("R.id.item04", "------------------------"+R.id.item04); break ; case R.id.item05: Toast.makeText(this, "退出程序", Toast.LENGTH_LONG).show() ; Log.v("R.id.item05", "------------------------"+R.id.item05); Indent.this.finish() ; break ; } return false; } protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (resultCode) { // 判断操作类型 case RESULT_OK: // 成功操作 Log.v("resultCodeRESULT_OK", "------------------------"+RESULT_OK); break; case RESULT_CANCELED: // 取消操作 new RefreshData(); Indent.this.finish() ; Log.v("resultRESULT_CANCELED", "------------------------"+RESULT_CANCELED); break ; default: break; } } //下拉框 private class OnClickListenerImpl implements OnClickListener { public void onClick(View view) { Dialog dialog = new AlertDialog.Builder(Indent.this) .setIcon(R.drawable.img_m) .setTitle("请选择座位") .setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }).setItems(R.array.board_labels, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { IndentData.num=Indent.this.getResources().getStringArray(R.array.board_labels)[which]; Indent.this.mych.setText("您选择的座位是:"+ IndentData.num); } }).create() ; dialog.show() ; } } }
2022-05-29 18:50:07 2.84MB android
1
人工智能-机器学习-财政软件系统的架构分析及部分功能测试.pdf
2022-05-03 17:05:43 2.54MB 人工智能 文档资料 机器学习 架构
hdmi2.1说明文档,包含eARC部分功能介绍
2022-04-18 16:24:44 1.57MB hdmi2.1
1
dnf私服辅助源码,部分功能可用,可以修改装备属性等功能,修改回避率回血速度攻击力等功能,可以达到无敌效果,其他功能未修复,已经改为直接启动,可修改为dll注入
2022-03-31 11:22:29 3.64MB dnf 私服 台服 易语言
1
这个资料是我们学校的学习资料,希望对大家有帮助
2022-03-28 22:39:27 2.01MB 移动通信
1
使用c语言实现信任的进化部分功能,可作为c语言入门大作业参考。 信任的进化是一款模拟人和人信任发展及演变的游戏,实质是博弈论。
2022-03-08 22:11:36 8KB c语言
1
简单描述下流程 “生产入库管理”:新增-生效-收货-创建上架单 “上架管理”:自动分配-上架单生效 “作业单管理”:作业单确认 一直开发到现在...实现了“作业单确认”功能,参加活动还来得及吗 ...
2022-01-17 19:08:50 137KB 易语言分享WMS纯源码,刚开发部